----- Original Message -----
From: "Richard Davey" <rich@xxxxxxxxxxxxx>
To: <php-general@xxxxxxxxxxxxx>
Sent: Tuesday, April 10, 2007 3:43 PM
Subject: Re: Dates and different time zones
Niklas Karlsson wrote:
I am creating an international site that is going to get used in both
American and Europe. And I wonder how to handle the different time zones,
because I want the date and time to be correct after the place your using
the application.
I now have the date_default_timezone_set() to "Europe/Stockholm", and all
dates that is saved into the database is timestamp with time zone (using
PostgreSQL).
So a wonder who to handle different time zones? Have any of your
experience
of this?
Store all of your dates as GMT. Perform all date based calculations around
GMT also, and then offset the values for localised display only.
This way you only need to store the GMT offsets for each user, i.e. GMT+1
or GMT-8 when it comes to displaying the dates to them. The trick is to
use a constant base date for all data, and only being the user timezones
into play when needed.
Actually, I find that it is better not to bother storing anything for the
user at all. At the first chance, get some JavaScript to read the local
time of the client machine and send it back to the server, either with the
login data, using some AJAX or along with any link the user might click on
the welcome screen, for example, the language choice. Then use the offset
from his local time to the server time for every time information, substract
it from any time information you read from them, add it to anything you send
them. This works whether the user is registered or not, whether he/she
travels or remains in the same time zone and spares you the trouble of
keeping your IP to country to timezone table updated. It assumes that the
user updates the time zone on his/her machine and if he doesn't it means she
doesn't care, so why should you. (some travellers prefer to keep their
portable machines set to their home-base time zone)
Satyam
Cheers,
Rich
--
Zend Certified Engineer
http://www.corephp.co.uk
"Never trust a computer you can't throw out of a window"
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 269.0.0/754 - Release Date: 09/04/2007
22:59
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php