On Tue, March 6, 2007 9:40, Marcus Bointon said: > On 6 Mar 2007, at 17:12, David T. Ashley wrote: > >> Best practice is that all times maintained in a database (or >> anywhere on the >> server) are UTC, and are only converted to local timezone and/or >> adjusted to >> daylight savings time as required to display data for a specific user. > > Exactly right. > >> Now, as far as the best way to implement the two paragraphs above >> (especially with DST), I have not a clue. > > I do this using the date extension that was updated in PHP 5.1. I > store the string representation of the time zone, for example 'Europe/ > London', and set that as the time environment whenever a session is > started using: http://www.php.net/manual/en/function.date-default- > timezone-set.php > After that it all just magically works - whenever you call date() and > friends, it's all corrected for the time zone. > > A slightly harder question is how to get the user's time zone in the > first place. You can take a wild guess according to their IP, but it > could well be wrong. Next you could use Javascript to find out the > local time and get an offset, but then you have no way of getting DST > info, and it doesn't tell you where they really are. Finally, you can > just ask - I've made the time zone a user preference, and most > systems I've seen do the same. > > Marcus > -- > Marcus Bointon > Synchromedia Limited: Creators of http://www.smartmessages.net/ > [EMAIL PROTECTED] | http://www.synchromedia.co.uk/ Added problem. What if their computer clock is way off. Before I figured out session cookies I had cookies disappearing on random computers because the computer clock was a couple of days off. FWIW.
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]