次の形式で日付を保存するためのMySQL列の正しいタイプを知っている人はいますか?例:2012-11-11T11:09:28 + 00:00
更新:私が興味を持ったの+xx:xx
は、アクションを実行したユーザーのタイムゾーンを保存する方法でした。質問は、タイムゾーンも含むMySQLの日付形式があるかどうかでした。MySQLのドキュメントを読んでも関連情報が見つからなかったので、ここに書きました。
MySQL には、タイムゾーンを含む DATE/TIME カラム タイプはありません。タイムスタンプはタイムスタンプであり、絶対的な時点であるため、実際には必要ありません。タイムゾーンは、タイムスタンプを現地時間としてフォーマットする場合にのみ関連しますが、MySQL はタイムゾーンに関係なく、日付を絶対的な時点として保存します。
タイムゾーン情報を含む値を保存する場合は、文字列として保存する必要があります。
しかし、より良い戦略はとにかくこれです:
これは、これを処理する典型的な方法です。アプリにとって意味がある場合は、タイムスタンプ列の隣の別の列にタイムゾーンを保存することもできます。
`time_utc` (DATETIME) | `timezone` (VARCHAR)
----------------------+---------------------
2012-11-11 11:11:11 | Europe/Berlin
このようにして、データベース内のタイムスタンプを統一して計算/クエリを実行し、必要に応じてローカル時間でフォーマットすることができます。