MySQL'在时区转换

时间:2015-02-27 07:04:48

标签: mysql postgresql datetime timezone date-conversion

在Postgres中是否有MySQL功能,我可以将当​​前时间戳转换为另一个时区?

在Postgres中,我这样做:

 SELECT now() AT TIME ZONE 'PST'

并且它自己转换它。我如何在MySQL中执行此操作?无论如何还在吗?

由于

2 个答案:

答案 0 :(得分:0)

使用CONVERT_TZ()进行此操作。

<强>语法

CONVERT_TZ(dt,from_tz,to_tz)

CONVERT_TZ()将日期时间值dt从from_tz给出的时区转换为to_tz给出的时区,并返回结果值。

试试这个:

SELECT CONVERT_TZ(now(),@@session.time_zone,'-08:00');

这是reference

now() - 当前时间

@@session.time_zone - 授予当前时区(本地)

PST中的

-08:00 - 所需格式。

答案 1 :(得分:0)

我实际上已经解决了! HAH!

无论如何,我用过这个:

 SELECT CONVERT_TZ(NOW(),SUBSTRING(TIMEDIFF(NOW(), UTC_TIMESTAMP), 1, 6),'-05:00') AS est_timezone

基本上,查询解释为:

SELECT CONVERT_TZ(NOW(),'-08:00','-05:00') AS est_timezone

我终于获得了当前时区-08:00并将其转换为-05:00。这样,我现在可以继续我之前的查询,使其成为一个视图。