I have an application which uses Zend_Date to display dates. Zend_Date instances are created using datetime data from MySQL, user input and the current date.
I would like for my users to be able to specify their timezone and for all dates to be displayed in their local time.
At the moment my code works like this:
$date = '2009-01-01 10:30:00';
$date = new Zend_Date($date, Zend_Date::ISO_8601);
echo $date->get(Zend_Date::TIME_MEDIUM); //10:30:00
$date->setTimezone('Australia/ACT');
echo $date->get(Zend_Date::TIME_MEDIUM); //21:30:00
This works, but requires a setTimezone call on every date. Is there an easier way to manage timezones?
I've also been looking at using SET time_zone with MySQL, to return adjusted data from MySQL. Then I would only need to adjust dates created within PHP scripts for timezones.
I'd love to hear the best way to handle this, if someone has experience.
Thanks