MySQL 日時フィールドと夏時間: あいまいな時間の処理
MySQL 日時フィールドは、夏時間への移行を扱う際に特有の課題を提示します。タイムシフトにより、1 時間が 1 日に 2 回表示されます。このあいまいさは、日時フィールドがタイム ゾーン オフセットを明示的に指定せずにタイムスタンプを格納するために発生します。
問題:
アメリカ/ニューヨークのタイムゾーンで次のシナリオを考えてみましょう。
「1:30am」を MySQL データベースに保存せずにオフセットを指定すると、曖昧さ:
これにより、どの午前 1 時 30 分が参照されているかを判断することが困難になります。
解決策: DATETIME とTIMESTAMP
一般的な考えに反して、MySQL では DATETIME フィールドと TIMESTAMP フィールドの動作が異なります。
ベスト プラクティス: UTC で DATETIME フィールドを使用する
夏時間への移行中にタイムスタンプを正確に保存するには、次の使用をお勧めします。 DATETIME フィールドを使用し、UTC タイムゾーンを明示的に指定します。これにより、保存する前にタイムスタンプを UTC に変換でき、取得時にタイムスタンプが正しく解釈されるようになります。
実装手順:
取得時データ:
保管時データ:
これらの手順に従うことで、夏時間への移行中にあいまいなタイムスタンプを正確に処理し、タイムスタンプの整合性を確保できます。あなたのデータ。
以上がMySQL の DATETIME フィールドは夏時間の曖昧さをどのように正確に処理できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。