2017-05-30 71 views
0

我想要一个日期时间字段,它被设置为EST,转换为UNIX时间戳。但问题是,时间戳应该设置为午夜UTC。MySQL的转换日期时间为UTC UNIX_TIMESTAMP

例如, 2015年5月1日将是1430438400000(2015年5月1日00:00:00 UTC)。

我尝试了第一次的日期时间转换为UTC,然后将其格式化为24小时格式,但显然它并没有为我工作。下面的代码:

UNIX_TIMESTAMP(DATE_FORMAT(DATE(DATE_ADD(rv.created_at,INTERVAL 4 HOUR)), '%Y-%间 - %d 00:00:00'))

谁能帮忙?谢谢。

UPDATE

我终于得到了答案。这里把它以供将来参考

FLOOR(UNIX_TIMESTAMP(DATE_SUB(DATE_FORMAT(DATE(rv.created_at), '%Y-%间 - %d 00:00:00'),INTERVAL 4 HOUR))* 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-%间%d 00:00:00'))

+0

是的,代码的作品,但我无法得到正确的价值。例如,2017年5月20日的unix应该是1496102400。但我得到了1496160000作为我的结果。 – user3360031

+0

我收到2017年5月20日= 1495252800.请参阅(http://www.unixtimestampconverter.com/) – Scotty