MySQL の「DATETIME」フィールドで夏時間を処理する方法?
Nov 12, 2024 am 06:21 AMMySQL 日時フィールドと夏時間: 「余分な」時間の処理
この説明では、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 の日付/時刻数学関数データが DST タイムゾーンに保存されている場合、DST 境界付近では確実に機能しない可能性があります。
- すべての時間計算は、PHP や Python などの互換性のあるプログラミング言語を使用して MySQL の外部で実行する必要があります。
- 場合データベースからデータを取得し、それを MySQL の外部で UTC として解釈して、正確な Unix タイムスタンプを取得します。
これらの戦略を実装することにより、日光が存在する場合でも MySQL で日時データを正確に処理することが可能になります。時間を節約します。
以上がMySQL の「DATETIME」フィールドで夏時間を処理する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











LaravelのバックエンドでReactアプリを構築する:パート2、React
