Mysql - 以UTC格式转换本地日期

时间:2017-04-18 10:53:35

标签: mysql

美好的一天,

我正在以这种格式存储mysql日期:

enter image description here

在我的SQL查询中,我希望以UTC格式获取这些日期。 我已经尝试过CONVERT_TZ(dt,from_tz,to_tz)函数,但我无法确定如何获取from_tz的日期。我知道to_tz将是'UTC'或'+0000'

2 个答案:

答案 0 :(得分:1)

试试这个:

select convert_tz(`date`, replace(substring_index(`date`, ' ', -1), '00', ':00'), '+00:00')

<强> 编辑:

select convert_tz(`date`, concat(left(substring_index(`date`, ' ', -1), 3), ':', right(substring_index(`date`, ' ', -1), 2)), '+00:00')

答案 1 :(得分:0)

好吧,因为mysql在日期忽略了TZ限定符,我建议你进行半手动TZ转换

select         
    date_add("2017-04-18 15:15:15  +1000", interval substring("2017-04-18 15:15:15 +1000", -5, 3) hour),
    date_add("2017-04-18 15:15:15  +1000", interval substring("2017-04-18 15:15:15 -1000", -5, 3) hour)
;

结果将按照您的预期以UTC时区为单位