2017-05-30 11 views
0

ESTに設定されたdatetimeフィールドをUNIXのタイムスタンプに変換しようとしています。しかし、キャッチは、タイムスタンプはUTCの深夜に設定する必要があります。MySQL datetimeをUTCに変換するUNIX_TIMESTAMP

たとえば、 2015年5月1日は、1430438400000(2015年5月1日00:00:00 UTC)となります。

最初にdatetimeをUTCに変換してから、24時間形式にフォーマットしようとしましたが、明らかにそれは私のためには機能しませんでした。以下のコード:

UNIX_TIMESTAMP(DATE_FORMAT(DATE(DATE_ADD(rv.created_at、INTERVAL 4時間))、 '%Y-%M-%D午前0時00分00秒'))

誰も助けることができますか?ありがとう。

更新日

私はついに答えました。今後の参考のためここに入れ

FLOOR(UNIX_TIMESTAMP(DATE_SUB(DATE_FORMAT(DATE(rv.created_at)、 '%Y-%M-%D 0時00分00秒')、INTERVAL 4時間))*私はあなたの質問を理解していないよいない限り1000)

+0

タイトルは述べています'UNIX_TIMESTAMPコンバータをUTCに変換する'と質問して、 '私は日時フィールドを変換しようとしています' - そうですか? *働かなかった*はあなたが与えることができる最悪の可能な説明です - あなたが得るエラーメッセージを含め、他の人があなたを助けるのを助ける。 –

+0

@ N.B。タイトルを変更しました。いいえ、エラーはありませんでした。私はちょうどUTCのUNIXタイムスタンプである正しい出力を得ることができませんでした。 – user3360031

+0

[このヘルプ](https://stackoverflow.com/questions/11133760/mysql-convert-datetime-to-unix-timestamp)できますか?あなたの質問が重複しているように見えます。 –

答えて

0

この作品: UNIX_TIMESTAMP(DATE_FORMAT(rv.created_atを、 '%Y-%M-%D夜12時○○分00秒'))

+0

はい、コードは動作しますが、正しい値を取得できませんでした。たとえば、2017年5月20日はUNIXで1496102400でなければなりません。しかし、私は1496160000を私の結果として得ています。 – user3360031

+0

私は2017年5月20日= 1495252800になります。See(http://www.unixtimestampconverter.com/) – Scotty

関連する問題