gpt4 book ai didi

sql - Postgresql 时区转换

转载 作者:行者123 更新时间:2023-11-29 14:09:34 24 4
gpt4 key购买 nike

我很感激第二双眼睛在我的 Postgres 语法上。

数据库以 UTC 格式存储时间戳。我正在尝试将 UTC 转换为东部夏令时 EDT,但输出不准确。

这是我的语法:

SELECT
to_char(((timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EDT'), 'MM/DD/YYYY HH24:MI')
FROM table_name

记录时间戳:

09/10/2016 12:00

查询输出:

09/10/2016 16:00

期望的输出:

09/10/2016 08:00

感谢您的协助。

最佳答案

AT TIMEZONE 两次是多余的,因为它只会从任何当前时区(您建议是 UTC)转换为 UTC,然后再转换为 EDT。

您觉得需要将其转换为 UTC 的事实告诉我您没有将其存储为 TIMESTAMP WITH TIMEZONE。检查是否是这种情况。如果是,那很可能是你的问题。 From the docs :

If no time zone is stated in the input string, then it is assumed to be in the time zone indicated by the system's timezone parameter, and is converted to UTC using the offset for the timezone zone.

基本上,如果您不指定,默认情况下它会假定它来自您当前的时区,而不是 UTC。您输入的 UTC 时间戳可能是美国东部时间。

关于sql - Postgresql 时区转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45091295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com