MySQL でのタイムゾーン情報を含む日時の保存
日付と時刻をデータベースに保存することは、特に異なるタイムゾーンを扱う場合に困難になる可能性があります。これは、さまざまなタイムゾーンにいる可能性のあるデータにアクセスする共同作業者がいる場合に特に当てはまります。
この問題を克服するには、日時情報の保存における一貫性を確立することが重要です。 1 つの解決策は、MySQL で TIMESTAMP データ型の代わりに DATETIME データ型を利用することです。保存および取得のために値を UTC に変換する TIMESTAMP とは異なり、DATETIME はこの変換を実行しません。 datetime 値を DATETIME として保存すると、値が変更されず、意図したタイムゾーンで表示されるようになります。
これを説明するために、質問に示されている例を考えてみましょう。 DATETIME を使用すると、次のコマンドは日時値「2011-03-13 02:49:10」を正常に挿入します:
今回は、値が正しくないため、「不正な日時値」に関連するエラーは発生しません。 UTC に変換されずに、元のタイムゾーンが保持されます。
以上がMySQL にタイムゾーン情報を含む日時を適切に保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。