MySQL的时区转换
MySQLs' At Time Zone Convertion
MySQL 中是否有类似 Postgres 中的函数,我可以将当前时间戳转换为另一个时区?
在 Postgres 中,我这样做是这样的:
SELECT now() AT TIME ZONE 'PST'
它会自行转换。我如何在 MySQL 中执行此操作?到底有没有?
谢谢
为此使用 CONVERT_TZ()
。
语法:
CONVERT_TZ(dt,from_tz,to_tz)
CONVERT_TZ()
将日期时间值 dt 从 from_tz
给定的时区转换为 to_tz
给定的时区和 returns 结果值。
试试这个:
SELECT CONVERT_TZ(now(),@@session.time_zone,'-08:00');
这里是 reference.
now()
-当前时间
@@session.time_zone
-给出当前时区(本地)
-08:00
-PST 格式要求。
我居然解决了!哈!
不管怎样,我用过这个:
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。这样,我现在可以继续我之前的查询以使其成为 VIEW。
MySQL 中是否有类似 Postgres 中的函数,我可以将当前时间戳转换为另一个时区?
在 Postgres 中,我这样做是这样的:
SELECT now() AT TIME ZONE 'PST'
它会自行转换。我如何在 MySQL 中执行此操作?到底有没有?
谢谢
为此使用 CONVERT_TZ()
。
语法:
CONVERT_TZ(dt,from_tz,to_tz)
CONVERT_TZ()
将日期时间值 dt 从 from_tz
给定的时区转换为 to_tz
给定的时区和 returns 结果值。
试试这个:
SELECT CONVERT_TZ(now(),@@session.time_zone,'-08:00');
这里是 reference.
now()
-当前时间
@@session.time_zone
-给出当前时区(本地)
-08:00
-PST 格式要求。
我居然解决了!哈!
不管怎样,我用过这个:
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。这样,我现在可以继续我之前的查询以使其成为 VIEW。