Zend_Dateを使って日付を表示するアプリケーションがあります。 Zend_Dateインスタンスは、MySQLのdatetimeデータ、ユーザー入力、現在の日付を使用して作成されます。Zend_Dateで日付と時間帯を扱う
ユーザーが自分のタイムゾーンを指定し、すべての日付をローカル時間で表示できるようにしたいと考えています。現時点では私のコードは次のように動作し
:
$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コールが必要です。タイムゾーンを管理する簡単な方法はありますか?
私はまた、MySQLで調整されたデータを返すために、SET time_zoneをMySQLで使用することを検討しています。その後、PHPスクリプト内で作成された日付をタイムゾーン用に調整するだけで済みます。
私は誰かが経験を持っている場合、これを処理する最善の方法を聞いて欲しいです。
おかげ
ありがとうございました。 UTCをデフォルトとして設定し、内部的にUTC datetimeで作業し、setTimezoneを使用してタイムゾーン固有のローカル時刻を生成するのが最善の方法です。 –