MySQL 日時フィールドと夏時間: 「余分な」時間の処理
この説明では、MySQL 日時フィールドを処理するときに直面する課題について説明します。夏時間 (DST) のコンテキストで。移行期間中に生じる曖昧さは、混乱や間違ったデータ保存につながる可能性があります。
問題
DST 移行中、1 時間が「獲得」または「失った。"この遷移ポイントにより、同じ時刻の 2 つのインスタンスが作成されます。たとえば、01:30:00 はオフセット -04:00 で 1 回発生し、オフセット -05:00 で再度発生するなどです。このあいまいさにより、01:30:00 のどのインスタンスが参照されているかが不明確になります。
Datetime フィールドと Timestamp フィールドの制限
以前の想定に反して、DATETIME フィールドと TIMESTAMP フィールドはDST が存在する場合、タイプは異なる動作をします。 TIMESTAMP フィールドは保存前にデータを UTC に変換しますが、DATETIME フィールドはデータを変換せずに直接保存します。ただし、どちらのフィールド タイプも、DST の影響を受けるタイムゾーンにデータを正確に保存することはできません。
解決策
これらの制限を克服するには、データを非形式で保存する必要があります。 UTC などの DST タイムゾーン。これは、データを DATETIME フィールドに保存する前にシステムのタイムゾーンから UTC に変換することで実現できます。
追加の考慮事項
これらの戦略を実装することにより、日光が存在する場合でも MySQL で日時データを正確に処理することが可能になります。時間を節約します。
以上がMySQL の「DATETIME」フィールドで夏時間を処理する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。