PostgreSQL中的FROM_TZ等效项

问题描述 投票:0回答:1

如何将其转换为在PostgreSQL中工作?

TO_CHAR(CAST(FROM_TZ(CAST(columnname AS TIMESTAMP), 'GMT') AT TIME ZONE 'US/Eastern' AS DATE),'MM/DD/YY HH:MI AM') AS dt
postgresql
1个回答
0
投票
testdb=# select TO_CHAR(CAST('2020-02-28T18:43' AS TIMESTAMP) AT TIME ZONE 'UTC' AT TIME ZONE 'US/Eastern','MM/DD/YY HH:MI AM') as dt; dt ------------------- 02/28/20 01:43 PM (1 row)
[为了清楚说明正在发生的事情,我们将从对TIMESTAMP的转换开始,表明添加第一个AT TIME ZONE使其成为可感知tz的时间戳,然后添加第二个如何进行时区转换。

testdb=# select CAST('2020-02-28T18:43' AS TIMESTAMP), testdb-# CAST('2020-02-28T18:43' AS TIMESTAMP) AT TIME ZONE 'GMT', testdb-# CAST('2020-02-28T18:43' AS TIMESTAMP) AT TIME ZONE 'GMT' AT TIME ZONE 'US/Eastern'; timestamp | timezone | timezone ---------------------+------------------------+--------------------- 2020-02-28 18:43:00 | 2020-02-28 18:43:00+00 | 2020-02-28 13:43:00 (1 row)

请参阅timezone conversion docs了解更多详细信息。
© www.soinside.com 2019 - 2024. All rights reserved.