2016-11-01 5 views
1

Как оценить местное время с использованием файлов данных IANA (Internet Assigned Numbers Authority)?Файлы данных IANA (Internet Assigned Numbers Authority) и данные от www.timeanddate.com

На этом сайте я найти следующие данные: 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 правило действует с 25 марта по 2019 от 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?

+1

Вы отметили свой вопрос с помощью [tag: javascript]. Вы ищете метод использования данных часового пояса IANA в JavaScript? Если да, [смотрите здесь] (http://stackoverflow.com/a/15171030/634824). –

ответ

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  - 

Вы ищете правила, которые в настоящее время в силе. На данный момент их две, последние две строки.

В последней строке указывается, что в течение каждого года, начиная с 1981 года, в последнее воскресенье марта в 01:00 UTC, к UTC-смещению добавляется 1:00 (задано Zone). Последний столбец, содержащий S, в этом примере не используется. Но если аббревиатура, указанная в Zone, содержит %s, тогда эта буква будет заменена на %s.

В последней строке говорится, что за каждый год, начиная с 1996 года, в последнее воскресенье октября в 01:00 UTC, к UTC-смещению добавляется 0:00 (задано Zone).

Matt Johnson добавляет в комментариях ниже:

Вы также можете быть заинтересованы в iana.org/time-zones/repository/tz-how-to.html

Я думал, что это такое важное замечание, что он должен быть в ответе за более высокой видимости. Спасибо Мэтту!

+0

Большое вам спасибо. – olga

+1

@olga - Вас, возможно, также будет интересен http://www.iana.org/time-zones/repository/tz-how-to.html –

 Смежные вопросы

  • Нет связанных вопросов^_^