Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 为什么博士后的时区在1967/68年前后发生变化?_Postgresql_Timezone_Timestamp With Timezone - Fatal编程技术网

Postgresql 为什么博士后的时区在1967/68年前后发生变化?

Postgresql 为什么博士后的时区在1967/68年前后发生变化?,postgresql,timezone,timestamp-with-timezone,Postgresql,Timezone,Timestamp With Timezone,在9.3.3中,如果运行: 选择 摘录(时区为“1911-03-01 00:00-8:00:00”的时间戳中的时区), 摘录(时区为“1911-05-15 00:00-8:00:00”的时间戳中的时区), 摘录(时区为“1917-03-01 00:00-8:00:00”的时间戳中的时区), 摘录(时区为“1917-05-15 00:00-8:00:00”的时间戳中的时区), 摘录(时区为“1967-03-01 00:00-8:00:00”的时间戳中的时区), 摘录(时区为“1967-05-15

在9.3.3中,如果运行:


选择
摘录(时区为“1911-03-01 00:00-8:00:00”的时间戳中的时区),
摘录(时区为“1911-05-15 00:00-8:00:00”的时间戳中的时区),
摘录(时区为“1917-03-01 00:00-8:00:00”的时间戳中的时区),
摘录(时区为“1917-05-15 00:00-8:00:00”的时间戳中的时区),
摘录(时区为“1967-03-01 00:00-8:00:00”的时间戳中的时区),
摘录(时区为“1967-05-15 00:00-8:00:00”的时间戳中的时区),
摘录(时区为“1968-03-01 00:00-8:00:00”的时间戳中的时区),
摘录(时区为“1968-05-15 00:00-8:00:00”的时间戳中的时区);

结果如下:

0;0;
0;3600;
0;3600;
3600;3600
(第一次是拉斯维加斯的成立日,接下来的几次是我用来调试这个问题的)


似乎在1911年前后没有偏移量,在1911年和1967年之间的夏季偏移量,而不是冬季偏移量,从1968年起一直有偏移量。这似乎有点奇怪。有人知道这里的偏移量是怎么回事吗?这是否是预期的行为,或者我的linux设置中是否有我可能更改的内容?

您的时区规则是依法制定的,法律也会改变。

您的时区规则是依法制定的,法律也改变了。

如果你想存储拉斯维加斯的(本地)时钟在城市建立当天标记为00:00:00的时刻,并且假设拉斯维加斯使用的偏移量为-8小时,那么你应该将
1911-03-01 00:00-8:00:00::timezonetx
存储在
timezonetx
字段中。但是,请注意,真正存储的只是“通用瞬间”,当您读取它时,您无法知道它对应于哪个“拉斯维加斯本地时间”(除非您在读取后明确地将其转换为时区)。

如果您要存储(本地)的瞬间拉斯维加斯的时钟在城市建立的当天标记为00:00:00,假设拉斯维加斯使用的偏移量为-8小时,则应将
1911-03-01 00:00-8:00:00::timezonetx
存储在
timezonetx
字段中。然而,请注意,真正存储的只是“通用瞬间”,当你阅读它时,你无法知道它对应的是哪个“拉斯维加斯当地时间”(除非你在阅读后明确地将其转换为时区)。

时区因各种原因而改变

夏时制规则改变了

有时,如果国家出于政治原因重新定义时区,时区补偿也会发生变化

规范的时区信息数据库是,过去称为奥尔森数据库。有各种各样的

如果您希望将特定时刻存储在挂钟时间中,而不考虑时区,则可以使用不带时区的时间戳


带时区的时间戳
对输入和输出的系统
时区
设置敏感,并以绝对秒的形式存储在UTC时间中。所以它被转换为输入和输出。如果您想要不同的转换或覆盖转换,可以使用
AT TIME ZONE
操作符。

时区因各种原因而改变

夏时制规则改变了

有时,如果国家出于政治原因重新定义时区,时区补偿也会发生变化

规范的时区信息数据库是,过去称为奥尔森数据库。有各种各样的

如果您希望将特定时刻存储在挂钟时间中,而不考虑时区,则可以使用不带时区的时间戳


带时区的时间戳
对输入和输出的系统
时区
设置敏感,并以绝对秒的形式存储在UTC时间中。所以它被转换为输入和输出。如果您想要不同的转换或覆盖转换,您可以使用
AT TIME ZONE
操作符。

实际上取决于您的时区。1966年,将于1967年举行。各州需要通过法律来结束这一局面,这意味着在许多地区,1967年是唯一使用DST的一年。这可能会导致一些非常有趣的小故障,除了1967/68年的日期外,其他日期的行为都正常。

实际上取决于你的时区。1966年,将于1967年举行。各州需要通过法律来结束这一局面,这意味着在许多地区,1967年是唯一使用DST的一年。这可能会导致一些非常有趣的小故障,除了1967/68年的日期外,其他日期的行为都很正常。

您的时区是哪一个?我在伦敦,刚刚切换到夏令时(因此我正在调查时区!)。我不是问您的“真实”时区,而是问您在postgresql中配置的时区(这会影响结果). 运行`显示时区`“-8:00:00”不是时区!这只是一个偏移量。你的时区是哪一个?我在伦敦,刚刚转到夏令时(因此我在调查时区!)。我不是问你的“真实”时区,而是问你在postgresql中配置的时区(这会影响结果)。运行`显示时区`“-8:00:00”不是时区!这只是一个偏移量。这些定律是否列举在某个地方,这样我就可以确定它为什么会这样?下面是zoneinfo db的一个公共报告,以人类可读的格式:。寻找《太平洋时间》杂志的洛杉矶,没有提到1911年到1921年之间事情发生变化的原因(看看第400行)。@WilliamBecker,你在“GB”时间,而不是太平洋时间。如果你想让PostgreSQL表现得像在另一个区域一样,你必须让它这样做。我没有。我只是很困惑,当我给它一个明确的偏移量时,我的本地时区将如何影响保存在带有时区的
时间戳中的数据。我认为偏移量是相对于UTC的,而不是我的本地时间。这是一个,所以应该是从