У меня есть приложение, которое использует Zend_Date для отображения дат. Экземпляры Zend_Date создаются с использованием данных datetime из 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, для часовых поясов.
Я хотел бы услышать, как лучше всего с этим справиться, если у кого-то есть опыт.
Спасибо