繁体   English   中英

UTC时间对应的本地时间

[英]Corresponding local time of UTC time

我有一组UTC时间:

UTC_date
-------------------
2015-10-24 16:38:46
2016-01-19 18:27:00
2016-01-24 16:14:34
2016-02-09 23:05:49
2016-02-11 20:46:26

我想知道这些时间对应的当地时间,我在 CDT 时区,应该比 UTC 晚 5 或 6 小时。 这是我需要的结果:

UTC_date                         CDT_date
------------------------------------------------
2015-10-24 16:38:46             2015-10-24 11:38:46
2016-01-19 18:27:00             2016-01-19 12:27:00
2016-01-24 16:14:34             2016-01-24 11:14:34
2016-02-09 23:05:49             2016-02-09 18:05:49
2016-02-11 20:46:26             2016-02-11 15:46:26

我尝试了 UTC_date::timestamp AT time zone 'CDT',但这会以相反的方式进行。我可以使用什么 PostgreSQL 查询?

假设utc_date是没有时区的时间戳,您可以执行以下操作:

select 
    utc_date, 
    utc_date at time zone 'utc' at time zone 'cdt' cdt_date 
from mytable

逻辑是首先指示 Postgres 时间戳在utc ,然后将其转换为目标时区。

DB Fiddle 上的演示

utc_date            | cdt_date           
:------------------ | :------------------
2015-10-24 16:38:46 | 2015-10-24 11:38:46
2016-01-19 18:27:00 | 2016-01-19 13:27:00
2016-01-24 16:14:34 | 2016-01-24 11:14:34
2016-02-09 23:05:49 | 2016-02-09 18:05:49
2016-02-11 20:46:26 | 2016-02-11 15:46:26

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM