У меня есть приложение, которое использует Zend_Date для отображения дат. Экземпляры Zend_Date создаются с использованием данных даты и времени из MySQL, ввода пользователя и текущей даты.
Я бы хотел, чтобы мои пользователи могли указывать свой часовой пояс и чтобы все даты отображались по местному времени.
На данный момент мой код работает так:
$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
Это работает, но требует вызова setTimezone для каждой даты. Есть ли более простой способ управления часовыми поясами?
Я также рассматривал использование SET time_zone с MySQL для возврата скорректированных данных из MySQL. Тогда мне нужно будет только настроить даты, созданные в PHP-скриптах, для часовых поясов.
Я бы хотел услышать лучший способ справиться с этим, если у кого-то есть опыт.
Спасибо