1

9.3.3 で実行する場合:

select EXTRACT(TIMEZONE FROM timestamp with time zone '1911-03-01 00:00 -8:00:00'), EXTRACT(TIMEZONE FROM timestamp with time zone '1911-05-15 00:00 -8:00:00'), EXTRACT(TIMEZONE FROM timestamp with time zone '1917-03-01 00:00 -8:00:00'), EXTRACT(TIMEZONE FROM timestamp with time zone '1917-05-15 00:00 -8:00:00'), EXTRACT(TIMEZONE FROM timestamp with time zone '1967-03-01 00:00 -8:00:00'), EXTRACT(TIMEZONE FROM timestamp with time zone '1967-05-15 00:00 -8:00:00'), EXTRACT(TIMEZONE FROM timestamp with time zone '1968-03-01 00:00 -8:00:00'), EXTRACT(TIMEZONE FROM timestamp with time zone '1968-05-15 00:00 -8:00:00');

次の結果が得られます。

0;0;
0;3600;
0;3600;
3600;3600

(最初はラスベガスの創設日で、次のいくつかは問題のデバッグに使用したものです)

1911 年頃にはオフセットがなく、1911 年から 1967 年の夏のオフセットはあるが冬にはオフセットがなく、1968 年以降は常にオフセットがあるようです。これは少し奇妙に思えます。ここでオフセットで何が起こっているのか、これが予想される動作なのか、それとも Linux のセットアップに変更できる可能性があるのか​​ どうか、誰にもわかりませんか?

4

4 に答える 4

1

あなたのタイムゾーンのルールは法律によって確立されており、法律は変更されています。

于 2014-04-01T19:47:25.707 に答える
0

タイムゾーンによって異なります。1966 年、DST は1967 年に米国で最初に全国的に実施されました。州はそれを終了する法律を可決する必要がありました。つまり、多くの地域で、1967 年が DST を使用した唯一の年でした。これにより、1967/68 以外のすべての日付が正常に動作する、非常に興味深いグリッチが発生する可能性があります。

于 2016-08-09T17:17:20.020 に答える