私のデータベースには、BIGINTのUTC値として時間を保存しています。UTC時刻文字列をUnix時刻に変換する
私のテストデータのSQLダンプでは、読みやすさのためにUTCの時間を見たいと思います。しかし、MySQLのunix_timestamp関数は、避けようとしている現地の時間帯の時間が必要です。
私は周りを見回していると私はUNIXタイムスタンプにUTC時刻文字列に変換する見つけた唯一の方法は、この式を使っている:
SELECT unix_timestamp(CONVERT_TZ('2011-08-08 06:00:00','UTC',@@global.time_zone))
がこれを行うには良い方法はありますが?
私のデータは、Unixのタイムスタンプとして来て、それがBIGINTとしてそれを保存するために理にかなっているように、Unixのタイムスタンプとして出て行きます。私がunix_timestampを使う理由は、データベースに入る日付を読むことができるからです。さもなければ、私のテストデータは、私が簡単に読むことができないunixタイムスタンプで盛り込まれています。 – Frederik
いいえ、そうではありません。それをタイムスタンプとして保存するのが理にかなっています。 unix_timestampは* TO *をunix時間(数値)に変換します。 'from_unixtime()'を意味しますか?あなたがしなければならないのは、現在のタイムゾーンをutcに設定するだけなので、うまくいくでしょう。そのタイムスタンプの上に自動的に人間が読める日付に変換します。 (数字を+0にして数字に変換してください) – Ariel
まだ数字を数字として保存していますが、これは変更されません。しかし、私のテストコードでは、それらをUTCの日付/時刻文字列として見たいと思っています。あなたはこの変換を行う方法を知っていますか(データベースにUTCを設定せずに、私はそれを制御できません) – Frederik