I'm using the Event module to keep a calendar of events for a local user group. Our group meets at 12:30 PM (half-past noon) on two different Saturdays.
No matter what I do, if I set the start time at 12:30 PM, it will always change it to 12:30 AM (half-past midnight) and advance the date to the next day. Here's a specific example:
Original Event: 12:30 PM on May 28, 2005
Changes to: 12:30 AM on May 29, 2005
--
Ric Fischer
Comments
Comment #1
crunchywelch commentedI cant replicate this behaviour on my system. Can you upgrade to the newest version, check your timezone settings and see if the problem persists?
Comment #2
Ric Fischer commentedSomeone will have to explain the timezone stuff to me.
But first, my Drupal install and Events module were downloaded and installed less than two weeks ago. Is there an easy way to determine the version I have?
Here's my situation:
I can think of no instances where any of my -7 settings could add up to a +12 hour jump.
Any suggestions?
Comment #3
Ric Fischer commentedAdditional information:
Any event set for 12:00 PM to 12:59 PM will be pushed ahead one half-day (12 hour) period. So, 12:00 PM (noon), becomes the following 12:00 AM (midnight), which is on the next day.
This happens even when you preview the event, so I'm assuming the error occurs during the time the data is validated.
No other times seem to be affected, although I haven't tested every hour. However, since 12 PM and 12 AM are easy for people to confuse (because 12 AM follows 11 PM and 12 PM follows 11 AM), it's very likely that only the 12 PM hour is misprogrammed.
When I have time, I'll take a look at the code myself and see if I can spot the problem.
Comment #4
kyber commentedYou know, I've also seen it defined as 12pm following 11pm and 12am following 11am.
This is the annoyance of the 12h clock. Is there an ISO definition?
Comment #5
Ric Fischer commentedKyber,
Thanks, but that's not helping. Common practice and formal definition both agree that the hour following 11:00 AM is 12:00 PM and the hour following 11:00 PM is 12:00 AM.
AM is short for ante meridiem, which is Latin for before noon. PM is short for post meridiem, which is Latin for after noon.
Technically, there are two minutes out of each day that are ambiguous as they pertain to AM or PM. 12:00 noon is neither before noon nor after noon because it is noon. 12:00 midnight is the same amount of time before and after noon. So, there there are people who indicate noon as 12:00 AM or 12:00 PM. However, if someone uses 12:00 AM simply because it follows 11:59 AM, they are helping to confuse others. That's because from 12:01 on, the time would be PM if in the after noon period or AM if right after midnight. So, it makes sense that if you are referring to a meeting from 12:00 noon till 12:30 PM, why not write it as 12:00 PM to 12:30 PM. This way, an entire hour will be the same AM or PM.
I'm summarizing this from Wikipedia's "12-hour clock" page.
But, none of this is helping with the bug. There is most definitely a bug. If you set an event as appointment 12:30 PM of June 29, do you really want event.module automatically modifying it to 12:30 AM of June 30? After all, since I was inputting it, how does the software know I meant AM instead of PM and that it should be moved to the following day.
In point of fact, I cannot set an appointment for 12:00 PM to 12:59 PM without it being changed to AM and bumping up to the next day. Every hour I've tested is treated fine (which shows that the timezone settings are not an issue). Only the hour that starts at noon is affected.
So, I'm sure now you can see how your question is irrelevant. Even if the common (in the US) way of doing it was not your way of doing it, you still don't want the event.module to modify the date and time that you put in, do you?
Comment #6
Steve Dondley commentedI tried reproducing the problem on my site. I could not do it. Look at the top of the event.module file. You should see a line like this:
// $Id: event.module,v 1.122.2.12 2005/05/25 21:23:22 crunchywelch Exp $
If your version is older, try a newer version.
Comment #7
Ric Fischer commentedNysus,
Thanks for telling me about the version number.
I did have an older version from early May. Thanks to you, I updated to the current version:
// $Id: event.module,v 1.122.2.12 2005/05/25 21:23:22 crunchywelch Exp $
The problem still exists.
Out of curiosity, I switched the event module's settings to 24 hour format (called '24h') and there are no problems there. When I switched back to 12 hour format, the 12:00 PM to 12:59 PM problem still appears.
Bear in mind that I have Drupal and the event module set to use 12 hour format. If anyone is testing this to verify my problem, please be sure both settings are in 12 hour format.
Thanks for helping.
Comment #8
Steve Dondley commentedI am using event with the flexinode module. Are you doing the same? It may or may not explain why I can't duplicate your problem. I'm not sure.
Comment #9
Ric Fischer commentedProblem solved!
The ultimate culprit was a by-product of the INSTALL.txt file (or INSTALL, as it was called in the version I previously had installed). Bear in mind, Drupal 4.6 was my first version of Drupal. So, I never saw the old menus (or links, whatever you want to call them).
During my installation, when I got to a part of the INSTALL.txt file that didn't make sense, I skipped that step. Specifically, I'm referring to #4 in the INSTALL.txt. The relevant part was,
4. You must then enable one or more node types to be used with the event system. You can do this by going to admin/node/configure/types and selecting a node type from the list.As any of you who have upgraded from 4.5 to 4.6 know, there is no "admin/node/configure/types" link. As a new Drupal user who didn't yet know all the terminology, I had no idea what I should click instead of "node".
To compound the problem, after #4, it tells us to use the flexinode module. That's a really cool module that lets me (the newbie that didn't know anything yet) add my own Start and End times to an "Event" content type. Neat-o! But wrong! :-)
Tonight, I re-read the INSTALL.txt and decided to finally solve the mystery of #4 and figured out it should be "administer/content/content types/configure/content types". (Whew! How's that for redundancy?) I think you can see how I could get so lost when trying to find "admin/node/configure/types". :-)
Once I fixed it so that my "event" content type is really hooked up to the event module, it added its own start and end times. Then I had to edit my event content type so it didn't manually add the start and end times. Next, I found out my database was out-of-date because I had that first 4.6 version of event.module installed, which used the generic "start" and "end" fields instead of "event_start" and "event_end". I had to run the update-event.php script.
After all this, my events worked and the dates and times came out correctly.
So, my problem is fixed. (Yippee!)
I'll submit a separate request for the INSTALL.txt file to get fixed so other new users won't get lost.
Comment #10
(not verified) commented