如何在MySQL中直接添加或分时区

时间:2017-05-17 10:13:40

标签: mysql timezone

我在数据库中有两列,一个用于保存时间戳,另一个用于保存时区,如“+8”,“ - 5”字符串,我使用DATE_FORMAT(FROM_UNIXTIME(start_time), '%Y-%m-%d %H:%i')恢复日期,是否有任何功能MySQL计算时区如start_time INTERVAL timezone

例如

start_time int 1491369437
timeonze char +8

用户保存2017-01-01 08:00:00和+8,我想将其更改回UTC,因此应该是2017-01-01 00:00:00。

1 个答案:

答案 0 :(得分:1)

DATETIME 2017-01-01 08:00:00是1483254000 Unix时间

您可以使用CONVERT_TZ函数(dt,from_tz,to_tz)。

阅读https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_convert-tz

UTC是+0:00所以你需要在to_tz

中使用它

<强>查询

SELECT CONVERT_TZ(FROM_UNIXTIME(1483254000), "+8:00", "+0:00");

<强>结果

CONVERT_TZ(FROM_UNIXTIME(1483254000), "+8:00", "+0:00")  
---------------------------------------------------------
2017-01-01 00:00:00