gpt4 book ai didi

postgresql - 夏季和冬季 postgres 时区/时间戳

转载 作者:行者123 更新时间:2023-11-29 12:52:38 25 4
gpt4 key购买 nike

我将 csv 数据上传到 postgres 中的表中。其中一列是带有纪元填充的字符变化列。进去的数据如下:

Example record: 1507656308.

epoch character varying 列转换为 timestamp 列如下:

select 
TIMESTAMP WITH TIME ZONE 'epoch' + timestamp::integer * INTERVAL '1 second' as timestamp
from
table

结果看起来不错,我继续使用它。我住在荷兰,这里每年有两次冬夏交替。显然我的数据没有区别。

我试图找出我当前的时区。我这样做是这样的:

SELECT EXTRACT(TIMEZONE FROM timestamp) FROM table;

导致:

3,600.0000

当我试图找出我的一般时区时,我得到了这个:

show timezone
= Europe/Berlin

如何让我的时间戳识别夏季与冬季?或者我做错了什么?

最佳答案

在所有将纪元值(为什么将其存储为字符串?)转换为带时区的时间戳的创造性方法中,这是最有趣的方法之一。

简单而无聊的方法是

SET timezone = 'Europe/Berlin';

SELECT to_timestamp(1507656308);

to_timestamp
------------------------
2017-10-10 19:25:08+02
(1 row)

该时区偏移量为两个小时,因为 10 月 10 日开始实现夏令时(欧洲中部夏令时)。

确实:

SELECT extract(timezone FROM to_timestamp(1507656308));

date_part
-----------
7200
(1 row)

所以一切都按预期工作,对吧?

关于postgresql - 夏季和冬季 postgres 时区/时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50346177/

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