Hi,
I have a small idea what's causing this but I'm having the following problem.
When I save my node in Firefox with an unpublish time like so: 2009-04-01 00:00:00
And open the node in IE I get the unpublish time like so: 2009-03-31 22:00:00
The other way around:
When I save my node in IE with an unpublish time like so: 2009-04-01 00:00:00
And open the node in Firefox I get the unpublish time like so: 2009-03-31 02:00:00
I know that Firefox is ahead of IE ;) but this is absurd! At first I thought it was JScalender
causing this as the date is stored in the DB as a timestamp. Yet when I disable the JScalender
module I still have the problem.
Because the scheduler time is stored as a timestamp I'm thinking the difference is caused by
GMT offset. But I didn't know (and can't find a setting for it) that one can set a different GMT
offset for each browser (if this is the reason at all).
I found out what's causing it. While typing this message I thought of something. It's the user's GMT time offset!
Now that's a bit unclear I think. Most users won't take their time offset into account when scheduling a node.
I would like an option to have the scheduled time based upon the server local time and not the users local time.
And show the user somehow what time this would be in their local time. Is this feasable?
Let me explain why, if I have a moderator in Sydney who schedules a node containing important business info to be published
the next day at noon (when the European based company has a press conference). Now when he does so he actually schedules
the node to be published at 12:00 - 9:00 (Sydney is 9 hours ahead of Europe) = 3:00 in the morning. Way before it should be published.
(not sure if I made the right time calculations but you get what I mean)
Any ideas on this?
Cheers
Comments
Comment #1
eric-alexander schaefer commentedThe only way to do this, is disabling user timezones in drupal (you would then als need to delete the timezone values in the user table).
BTW: The calculation is wrong anyways. Sydney is +10, west and central europe is +1 so the difference is 9 (as you wrote). If the node is to be published at 12:00 noon CET he needs to schedule it for 12:00 + 9:00 = 21:00 (9pm) and everything is fine. (Easy to remember: being AHEAD means its that much later)
Comment #2
bartezz commentedLike I said 'not sure if I made the right time calculations but you get what I mean' :)
But still, wouldn't it be safe to at least have a message above the scheduler pane which notifies the user being +10 from the local server time?? So that one knows about this when setting a schedule time? It's an easy thing to forget. And that way users still can have time zones....
If you want I can try and write a patch?
Cheers
Comment #3
eric-alexander schaefer commentedA patch for that is fairly easy, but I suspect your use case to be rare. E.g. It is only useful in scenarios where the location of the server matters.
What about this: The editor is in Australia, the readers are in France and the server is Canada. What then? Which time matters for scheduling? Do you want to show them all? How do you determine the location of you readers?
Or the other way around: The editor is in the US, the server sits in Sweden and the readers are in Australia. Australia has timezones. Which one do you display?
Don't get me wrong, I understand your need, but this will be a patch only two or three out of hundreds of people will need. I can assist you with the patch but I will not integrate it, if I am not proven wrong about the demand for this.
By the way: I have created a block which shows the current server time for my clients who use servers in a different timezone than their own. Just create a new block with this contents:
(select php for input filter and limit to the moderator role)
Comment #4
eric-alexander schaefer commented