1

IANA (Internet Assigned Numbers Authority) データファイルを使用して現地時間を推定する方法は?

このウェブサイトで、次のデータを見つけました: https://www.timeanddate.com/time/zone/uk/london

2015  Sun, 29 Mar, 01:00GMT → BST+1 hour (DST start)UTC+1h
      Sun, 25 Oct, 02:00BST → GMT-1 hour (DST end)UTC
2016  Sun, 27 Mar, 01:00GMT → BST+1 hour (DST start)UTC+1h
      Sun, 30 Oct, 02:00BST → GMT-1 hour (DST end)UTC
2017  Sun, 26 Mar, 01:00GMT → BST+1 hour (DST start)UTC+1h
      Sun, 29 Oct, 02:00BST → GMT-1 hour (DST end)UTC
2018  Sun, 25 Mar, 01:00GMT → BST+1 hour (DST start)UTC+1h
      Sun, 28 Oct, 02:00BST → GMT-1 hour (DST end)UTC
2019  Sun, 31 Mar, 01:00GMT → BST+1 hour (DST start)UTC+1h
      Sun, 27 Oct, 02:00BST → GMT-1 hour (DST end)UTC

ご覧のとおり、ヨーロッパ/ロンドンの時間変更ルールは毎年異なります。2018 年のルールは 2019 年 3 月 25 日から適用され、3 月 31 日から適用されます。

しかし、IANA データ配布に関するこの情報は見つかりません。 https://www.iana.org/time-zones

tzdata2016h.tar.gz から抽出したファイルeurope:

# Zone  NAME        GMTOFF  RULES   FORMAT  [UNTIL]
Zone    Europe/London   -0:01:15 -  LMT 1847 Dec  1  0:00s
             0:00   GB-Eire %s  1968 Oct 27
             1:00   -   BST 1971 Oct 31  2:00u
             0:00   GB-Eire %s  1996
             0:00   EU  GMT/BST

IANA データの使い方がわからないのでしょうか。IANA データファイルを抽出するには?

4

1 に答える 1

2

最初に次のZoneエントリを確認しEurope/Londonます。

# Zone  NAME             GMTOFF RULES   FORMAT  [UNTIL]
Zone    Europe/London   -0:01:15 -      LMT     1847 Dec  1  0:00s
                         0:00   GB-Eire %s      1968 Oct 27
                         1:00   -       BST     1971 Oct 31  2:00u
                         0:00   GB-Eire %s      1996
                         0:00   EU      GMT/BST

[UNTIL]最後の行を除いて、各行は日付で終わります。日付がない場合[UNTIL]、無限に遠い未来が暗示されます。したがって、ロンドンは現在、上記の表の最後の行によって管理されており、UTC オフセットは 0:00 であり、夏時間規則は によって管理されておりRule EU、使用される略語はGMT「標準」時間とBST夏時間の略語です。

今すぐ見つけに行きますRule EU

# Rule      NAME    FROM    TO      TYPE    IN      ON       AT     SAVE    LETTER/S
Rule        EU      1977    1980    -       Apr     Sun>=1   1:00u  1:00    S
Rule        EU      1977    only    -       Sep     lastSun  1:00u  0       -
Rule        EU      1978    only    -       Oct      1       1:00u  0       -
Rule        EU      1979    1995    -       Sep     lastSun  1:00u  0       -
Rule        EU      1981    max     -       Mar     lastSun  1:00u  1:00    S
Rule        EU      1996    max     -       Oct     lastSun  1:00u  0       -

現在有効なルールを探しています。現時点では、最後の 2 行の 2 つがあります。

最後から 2 番目の行は、1981 年以降、3 月の最終日曜日の 01:00 UTC に 1:00 が UTC オフセット ( で指定Zone) に追加されることを示しています。を含む最後の列Sは、この例では使用されていません。ただし、 に指定された省略形Zoneに a が含まれている%s場合、この文字は に置き換えられ%sます。

最後の行は、1996 年以降、毎年 10 月の最終日曜日の 01:00 UTC に、UTC オフセット ( で指定Zone) に 0:00 が追加されることを示しています。

マット・ジョンソンは以下のコメントに追加します:

iana.org/time-zones/repository/tz-how-to.htmlにも興味があるかもしれません

これは非常に重要なコメントであり、視認性を高めるために回答に含める必要があると思いました。ありがとうマット!

于 2016-11-01T14:22:53.487 に答える