2

ISO 8601 日付を選択する必要があります。

DATE_FORMAT(date, '%Y-%m-%dT%TZ') 

これは次のようなものを生成します

2013-11-13T15:47:530Z

しかし、Z 値の代わりにオフセットが必要です。

2013-11-13T15:47:53+02:00

プレーンな MySQL でこれを行うにはどうすればよいですか?

4

2 に答える 2

3

タイムゾーンを追加の列として DB に保存する必要があります。タイムゾーン/オフセットで日時保存するDBを知りません。

または、日付をオフセット付きの ISO 8601 形式の文字列として保存します。

編集:私は多少修正されていますが、いくつかの新しいデータベースでは可能です!

  • Postgresql Date/Time Types、実際にはタイムゾーンが含まれる場合があります。
    • データ型: "timestamp [ (p) ] with time zone" はinput と outputのみで、UTC で保存されます。
    • データ型: "time with time zone"、時間のみ、タイムゾーン オフセットを格納します。バージョン8以降。
  • ORACLE の日時データ型とタイム ゾーンのサポート
    • データ型: "TIMESTAMP WITH TIME ZONE"、タイムゾーン オフセットを格納します。バージョン 9i 以降。
    • データ型: "TIMESTAMP WITH TIME ZONE"、タイムゾーン オフセットまたはタイムゾーン名を格納します。バージョン10g以降。
    • Oracle TIMESTAMP WITH TIMEZONE 名前付きゾーンとオフセットも参照してください。
  • マイクロソフト SQL Server 2008
    • データ型: "datetimeoffset"、タイムゾーン オフセットを格納します。
  • サイベース
    • データ型: "TIMESTAMP WITH TIME ZONE"、タイムゾーン オフセットを格納します。
    • TIMESTAMP WITH TIME ZONE のサポートは、SQL/2008 標準のオプションの SQL 言語機能 F411 です。
  • 実際にはやや標準的なSQL99のようです。

  • Mysqlではありません。バージョン 5.6。

  • SQLiteの場合もありません。バージョン 3。

私は訂正が私自身から来たという事実に慰めを見つけます;-)

于 2014-01-14T11:17:44.733 に答える