【发布时间】:2017-09-14 04:13:38
【问题描述】:
早安,
我正在以这种格式存储 mysql 日期:
在我的 sql 查询中,我想以 UTC 格式获取这些日期。 我已经尝试过 CONVERT_TZ(dt,from_tz,to_tz) 函数,但我无法确定如何获取 from_tz 的日期。我知道 to_tz 将是 'UTC' 或 '+0000'
【问题讨论】:
标签: mysql
早安,
我正在以这种格式存储 mysql 日期:
在我的 sql 查询中,我想以 UTC 格式获取这些日期。 我已经尝试过 CONVERT_TZ(dt,from_tz,to_tz) 函数,但我无法确定如何获取 from_tz 的日期。我知道 to_tz 将是 'UTC' 或 '+0000'
【问题讨论】:
标签: mysql
试试这个:
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')
【讨论】:
好吧,由于 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 时区中
【讨论】: