将来のスケジュールについて話しているので 時間、のみを保存 UTCは必ずしも最良のアプローチではありません。
タイムゾーンのルールは変更される可能性がある(そして変更される)ことに注意してください。タイムゾーンデータに更新を適用する場合(PHPでは、PECLのtimezonedb を使用して更新が行われます。 パッケージ)、UTCに変換済みのデータは無効になる可能性があります。
より良い解決策は、複数の値を保存することです:
-
元の現地の日時
-
元のタイムゾーン(例:
"America/New_York"
) -
ローカル値から変換されたUTC日時
タスクを実行する時間かどうかを確認する場合は、現在のUTC日時を保存されているUTC値と比較します。
タイムゾーンの更新を適用すると、将来のすべてのエントリに対して以前に変換されたUTC値が破棄され、更新されたデータに基づいて新しい値が再計算されます。
これを行わないと、ユーザーが最初に提供した意図が失われます。また、タイムゾーンデータを最新の状態に保たないと、システムは、今年初めにエジプトで行われた変更や、ロシアで10月に行われる変更など、世界中で起こっているさまざまな変更を認識しません。
最後のポイント-適切に実装されていれば、サーバーのタイムゾーンは重要ではありません。 UTCとUTCを比較してください。