同様の質問がありますが、Doctrine2 の設定に関するものが見つからなかったので、ここに...
Doctrine2 のタイムゾーンを説明するこのページを読みましたが、これを実際に使用する方法が明確でないため、明確にしたいだけです: http://doctrine-orm.readthedocs.org/en/latest/cookbook/working- with-datetime.html
各ユーザーが自分の場所に基づいて関連付けられたタイムゾーンを持つことができるように、日時を UTC で保存したいのですが、データは一般的に保存されます。
基本的に、データは店舗の営業時間です (たとえば、午前 9 時に開店し、午後 6 時に閉店します)。店舗はそのタイムゾーンを追跡するため、店舗の人が「開店」時間を設定すると、店舗のタイムゾーンを処理し、時刻が UTC に変換されてデータベースに保存されます。次に、別のユーザーが店舗の営業時間を表示すると、自分のタイムゾーンまたは店舗のタイムゾーンで営業時間が表示されます。時刻は UTC であるため、問題にはならないので、任意のタイムゾーンに変換できます。
したがって、Doctrine のドキュメントには次の例が示されています。
class UTCDateTimeType extends DateTimeType
{
// ...
}
しかし、それはそれを使用する方法を言いません。列を「DateTime」ではなく「UTCDateTime」として宣言する必要がありますか? Doctrine が型の存在を認識するために、このクラスはどこに存在する必要がありますか?