gpt4 book ai didi

postgresql - 在 PostgreSQL 8.3 中将 UTC 时间转换为本地时间

转载 作者:行者123 更新时间:2023-11-29 12:21:23 32 4
gpt4 key购买 nike

我运行一个 Postgres 8.3 数据库,其中时间似乎以没有时区的 UTC 格式存储。我正在尝试以本地时间显示,但不使用“+01”后缀:

通过选择 scheduled_start_ts 我得到:2014-01-20 05:01:35.663

在时区“MET”选择 scheduled_start_ts :2014-01-20 05:01:35.663+01

我想得到本地时间的“2014-01-20 06:01:35.663”。

无法修改我正在使用的数据库,也不允许我修改数据的存储方式。

最佳答案

如果要格式化时间,请使用to_char 函数。参见 formatting functions在文档中。

regress=> SELECT to_char( 
(TIMESTAMP '2014-01-20 05:01:35.663' AT TIME ZONE 'UTC')
AT TIME ZONE 'MET',
'YYYY-MM-DD HH:MI:SS'
);

to_char
---------------------
2014-01-20 06:01:35
(1 row)

(TIMESTAMP 'xxx' AT TIME ZONE 'UTC') 通过重新解释 为我提供了正确时间的 timestamptz TIMESTAMP 为 UTC。第二个 AT TIME STAMP转换 timestamptz 为 MET 时区的 timestamp。然后将其格式化。

无论 SQL 标准委员会在设计它时冒了什么烟,我永远、永远、永远都不想靠近它。

关于postgresql - 在 PostgreSQL 8.3 中将 UTC 时间转换为本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21237939/

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