Mam aplikację, która używa Zend_Date do wyświetlania dat. Instancje Zend_Date są tworzone przy użyciu datetime danych z MySQL, danych wejściowych użytkownika i bieżącej daty.Radzenie sobie z datami i strefami czasowymi, z Zend_Date
Chciałbym, aby moi użytkownicy mogli określić swoją strefę czasową i aby wszystkie daty były wyświetlane w ich czasie lokalnym.
W tej chwili mój kod działa tak:
$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
To działa, ale wymaga połączenia setTimezone na każdy dzień. Czy istnieje łatwiejszy sposób zarządzania strefami czasowymi?
Chciałbym także użyć SET time_zone z MySQL, aby przywrócić skorygowane dane z MySQL. Wtedy potrzebowałbym tylko dostosować daty utworzone w skryptach PHP dla stref czasowych.
Chciałbym usłyszeć najlepszy sposób poradzenia sobie z tym, jeśli ktoś ma doświadczenie.
Dzięki
Dzięki. Wydaje mi się, że najlepszym sposobem jest ustawienie UTC jako domyślnego, praca z datownikiem UTC wewnętrznie i użycie setTimezone do tworzenia lokalnych czasów czasowych. –