
Я живу в Вене. Мое недавно сброшенное устройство Android только что спросило меня о моем часовом поясе, и у меня есть несколько доступных вариантов:
Amsterdam GMT+01:00
Belgrade GMT+01:00
Brussels GMT+01:00
Sarajevo GMT+01:00
Видимо,Windows также предлагает различные часовые пояса GMT+01:00, так что это не относится только к Android:
Central Europe Standard Time (GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
Central European Standard Time (GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb
Romance Standard Time (GMT+01:00) Brussels, Copenhagen, Madrid, Paris
W. Europe Standard Time (GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
В чем разница? В частности, в чем разница между "Romance Standard Time" и "W. Europe Standard Time"?Согласно Википедии, они должны быть одинаковыми.И насколько я помню, Париж и Берлин всегда находились в одном часовом поясе...
решение1
Если смотреть только на настоящее, многие часовые пояса покажутся лишними. Однако, если смотреть на прошлое, то можно найти много различий. В качестве примера давайте рассмотримисходный кодчасовых поясов Европа/Бюзинген (фактически связь с Европой/Цюрихом) и Европа/Берлин. Бюзинген — немецкий анклав, полностью заключенный в пределах территории Швейцарии.
Европа/Цюрих:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Swiss 1941 1942 - May Mon>=1 1:00 1:00 S
Rule Swiss 1941 1942 - Oct Mon>=1 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 # See above comment.
0:29:46 - BMT 1894 Jun # Bern Mean Time
1:00 Swiss CE%sT 1981
1:00 EU CE%sT
Европа/Берлин:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Germany 1946 only - Apr 14 2:00s 1:00 S
Rule Germany 1946 only - Oct 7 2:00s 0 -
Rule Germany 1947 1949 - Oct Sun>=1 2:00s 0 -
# http://www.ptb.de/de/org/4/44/441/salt.htm says the following transition
# occurred at 3:00 MEZ, not the 2:00 MEZ given in Shanks & Pottenger.
# Go with the PTB.
Rule Germany 1947 only - Apr 6 3:00s 1:00 S
Rule Germany 1947 only - May 11 2:00s 2:00 M
Rule Germany 1947 only - Jun 29 3:00 1:00 S
Rule Germany 1948 only - Apr 18 2:00s 1:00 S
Rule Germany 1949 only - Apr 10 2:00s 1:00 S
Rule SovietZone 1945 only - May 24 2:00 2:00 M # Midsummer
Rule SovietZone 1945 only - Sep 24 3:00 1:00 S
Rule SovietZone 1945 only - Nov 18 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Berlin 0:53:28 - LMT 1893 Apr
1:00 C-Eur CE%sT 1945 May 24 2:00
1:00 SovietZone CE%sT 1946
1:00 Germany CE%sT 1980
1:00 EU CE%sT
Прежде всего, обратите внимание на идентичность последней строки: сегодня обе страны используют центральноевропейское (летнее) время. Все, что было до этого, сильно различается. Германия приняла CE(S)T в 1980 году, а Швейцария сделала это годом позже, в 1981 году.
Из-за того, как Нидерланды и Бельгия были затронуты Первой и Второй мировыми войнами и т. д., их история еще длиннее, поэтому я не буду включать их сюда. Вы можете скачать данные и увидеть все сами. Это очень интересное чтение, потому что оно содержит обширные исследования истории хронометража во многих государствах.
решение2
Короткий ответ: вы не выбираете «Амстердам GMT+01:00»; вы выбираете «Амстердам (который в данный момент GMT+01:00)».
Отображение абсолютного смещения времени — это всего лишь полезный индикатор того, что ваш выбор означает на практике сегодня, но это не так.определятьвыбор, который вы делаете.
Если вы выберете «Амстердам» и часовой пояс Амстердама впоследствии изменится отдельно на Брюссель, ваш компьютер будет отслеживать только Амстердам.
решение3
Решение о том, какие пояса следует включить в базу данных часовых поясов, представляет собой компромисс между:
- поддержание разумного количества зон и общего размера БД
- предоставление точных преобразований для исторических временных меток
- минимизация необходимости реконфигурации в случае будущих изменений определения гражданского времени.
«База данных TZ» (используемая практически всеми поставщиками ОС, за исключением Microsoft) определяет часовой пояс как «национальный регион, где все местные часы согласованы с 1970 года».
Поэтому, как правило (существуют некоторые исключения, связанные с историческими странами, которые разделились) места в разных странах будут иметь разные названия часовых поясов, даже если с 1970 года у них было одинаковое местное время.
Каждая зона обычно идентифицируется по ее региону и главному городу (есть некоторые исключения). Данные до 1970 года пытаются быть точными для главного города в зоне, но зона будет разделена только в случае наличия разницы после 1970 года.
Некоторые платформы могут скрывать некоторые второстепенные зоны по умолчанию, но, похоже, это не так. В вашем списке отсутствуют основные зоны, такие как «Вена» и «Берлин».
На основе вашего списка я думаю, это локализация. Может быть, они предполагают, что люди в немецкоговорящих странах будут использовать немецкую сборку ОС.
У MS свои собственные часовые пояса. Я не знаю, по каким критериям они определяют, находится ли что-то в одном и том же поясе или нет, но я предполагаю, что это что-то вроде «места, в которых местное время отличается с тех пор, как Windows начала поддерживать часовые пояса».
решение4
Еще один момент, о котором следует помнить, — это переход на летнее время.
В одном городе переход на летнее время может быть включен, а в другом городе на той же долготе (и, следовательно, в том же часовом поясе), но ближе к экватору, переход на летнее время может быть выключен.