美好的一天,
我正在以这种格式存储mysql日期:
在我的SQL查询中,我希望以UTC格式获取这些日期。 我已经尝试过CONVERT_TZ(dt,from_tz,to_tz)函数,但我无法确定如何获取from_tz的日期。我知道to_tz将是'UTC'或'+0000'
答案 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时区为单位