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。