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

如何在MySQL中直接添加或分时区,mysql,timezone,Mysql,Timezone,我在数据库中得到了两列,一列用于保存时间戳,另一列用于保存时区,如+8,-5字符串,我使用date_FORMATFROM_UNIXTIMEstart_time,'%Y-%m-%d%H:%I',在MySQL中是否有计算时区(如开始时间间隔时区)的函数 比如说 start_time int 1491369437 timeonze char +8 用户保存2017-01-01 08:00:00和+8,我想将其更改回UTC,使其应为2017-01-01 00:00:00。日期时间2017-01-01

我在数据库中得到了两列,一列用于保存时间戳,另一列用于保存时区,如+8,-5字符串,我使用date_FORMATFROM_UNIXTIMEstart_time,'%Y-%m-%d%H:%I',在MySQL中是否有计算时区(如开始时间间隔时区)的函数

比如说

start_time int 1491369437
timeonze char +8

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

日期时间2017-01-01 08:00:00是1483254000 Unix时间

您可以使用函数CONVERT_TZdt,from_tz,to_tz来实现此目的

阅读

UTC为+0:00,因此您需要在to_tz中使用此选项

质疑

结果


请添加一些示例数据和预期的表架构output@RaymondNijland谢谢你的提问,我已经添加了示例。我添加了答案。
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