В чем разница между GMT + 01: 00 Амстердам и GMT + 01: 00 Брюссель?

118

Я живу в Вене. Мой недавно перезагруженный 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

Какая разница? В частности, в чем разница между «стандартным временем романа» и «стандартным временем Европы»? Согласно Википедии, они должны быть одинаковыми. И, насколько я помню, Париж и Берлин всегда были в одном часовом поясе ...

Heinzi
источник
26
IIRC у них могут быть немного другие законы DST.
Даниэль Б
22
«И, насколько я помню, Париж и Берлин всегда были в одном часовом поясе ...» Правильно, но программист не привязывает вас к таким предположениям («... поэтому они всегда будут»), потому что нет необходимости.
Гонки
20
Часовые пояса сложны .
Zoredache
17
Очевидно, вы слишком молоды, чтобы помнить 1976-79 годы, когда Франция наблюдала летнее время, а Германия - нет. Или до 1940 года, когда Франция использовала GMT.
user46971
6
IMO с точки зрения разработчика, это также был бы хороший, тематический вопрос для ux.stackexchange.com: подобно дилемме нации / флага / языка, это несколько смешивает географические и «политические» концепции. помните, даже «G» в «GMT» это место (Гринвич). В Windows 98 и более ранних версиях была хорошая карта, где вы могли выбрать часовой пояс с помощью селектора, который выделил бы приблизительную область планеты, которой он соответствует при наведении курсора мыши.
dlatikay

Ответы:

139

Если вы посмотрите только на настоящее, многие часовые пояса будут выглядеть избыточными. Однако, если вы посмотрите на прошлое, вы найдете много различий. В качестве примера давайте рассмотрим исходный код часовых поясов Европы / Бусингена (фактически ссылка на Европу / Цюрих) и Европы / Берлина. Büsingen - это немецкий эксклав, полностью закрытый на территории Швейцарии.

Европа / Цюрих:

# 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 году.

Из-за того, как Нидерланды и Бельгия пострадали от Первой и Второй мировых войн и так далее, их история еще длиннее, поэтому я не буду их здесь включать. Вы можете скачать данные и убедиться в этом сами. Это очень интересное чтение, потому что оно содержит обширные исследования истории хронометража во многих штатах.

Даниэль Б
источник
67
Потому что различия в прошлом могут казаться академическими. Пока вам не нужно сравнивать временные метки в исторических лог-файлах, датированных до 1980 года и генерируемых в системах, работающих в разных часовых поясах. Тогда вы очень рады, что существуют стандартные библиотеки функций с учетом часового пояса, которые могут преобразовывать даты / время с правильно рассчитанными этими различиями.
Тонни
11
Бюсинген - это кошмар программистов. Это мерильная палочка, по которой оцениваются определенные библиотеки: она имеет два почтовых индекса, облагается подоходным налогом Германии, но не их НДС и так далее.
chx
1
И вы могли бы сказать , что все это было давным - давно, конечно , не одна компьютерная система не заботится о часовых поясах в 1981 году, но, например , Португалия изменил часовых поясов в 1992 году , а затем в 1996 году
biziclop
78

Краткий ответ: вы не выбираете «Амстердам GMT + 01: 00»; вы выбираете "Амстердам (который в настоящее время GMT + 01: 00)".

Отображение смещения по абсолютному времени является просто полезным индикатором того, что ваш выбор практически означает сегодня, но он не определяет выбор, который вы делаете.

Если вы выберете «Амстердам», а часовой пояс Амстердама позже изменится отдельно на Брюссельский, ваш компьютер будет отслеживать Амстердам специально.

Гонки легкости на орбите
источник
9
Звучит разумно. В этом случае, однако, было бы более целесообразно показать список всех основных названий городов (как в Windows), а не только некоторые из них (как в Android): как жителю Вены, откуда мне знать, что я следует выбрать «Амстердам» вместо «Брюссель» (который является своего рода столицей ЕС, который определяет текущие правила перехода на летнее время для региона), или «Белград» (который географически ближе всего) или «Сараево» (который был частью нашей империи однажды, до того, как плохие вещи начали происходить ~ 100 лет назад).
Хайнци
3
@ Heinzi, потому что маловероятно, что 2 города в стране с 1 часовым поясом будут иметь разные часовые пояса. Обычно вся страна изменилась бы. Как правило, выбирают столицу страны.
Тим
7
@Tim: Да, но в GMT + 01: 00 есть более 4 стран (и, следовательно, более 4 столиц).
Хайнци
@Heinzi: Я бы согласился, что показывать больше городов было бы хорошо.
Гонки
Я думаю, что первые два абзаца здесь наиболее точно и кратко отвечают на этот вопрос. Исторический анализ Даниэля Б. интересен, но не актуален для современных устройств. Я думаю, что последний абзац нереалистичен и потребует перечисления стольких городов, чтобы учесть все возможные будущие изменения. Будущие изменения часового пояса редки, и трудно предсказать события, которые потребовали бы обновления ОС и в любом случае соответствовали бы кампаниям общественной информации. Вопрос UX о том, сколько гранулярности дать, является интересным вопросом, но, вероятно, не обусловлен потенциальными изменениями TZ.
Zelanix
12

Решение, какие зоны иметь в базе данных часовых поясов, является компромиссом между:

  • поддержание разумного количества зон и общего размера БД
  • предоставление точных конверсий для исторических временных меток
  • минимизация необходимости реконфигурации перед лицом будущих изменений в определении гражданского времени.

«База данных TZ» (используемая почти всеми поставщиками ОС, кроме Microsoft) определяет часовой пояс как «национальный регион, в котором все локальные часы согласованы с 1970 года».

Таким образом, в целом (за некоторыми историческими странами, которые разделяются) (за некоторыми исключениями) места в разных странах будут иметь разные названия часовых поясов, даже если они имели одинаковое местное время с 1970 года.

Каждая зона обычно определяется по своему региону и главному городу (есть некоторые исключения). Данные до 1970 года пытаются быть точными для основного города в зоне, но зона будет разделена только при наличии различий после 1970 года.

Некоторые платформы могут скрывать некоторые второстепенные зоны по умолчанию, но здесь это не так. В вашем списке отсутствуют основные зоны, такие как «Вена» и «Берлин»

Исходя из вашего списка, мне интересно, если это вещь локализации. Возможно, они предполагают, что люди в немецкоязычных странах будут использовать немецкую сборку ОС.

MS делает свое дело на часовых поясах. Я не знаю, каковы их критерии для решения, находится ли что-то в той же зоне или нет, но я ожидаю, что это что-то вроде «мест, которые имели разное местное время с тех пор, как Windows начала поддерживать часовые пояса».

plugwash
источник
Я не уверен, что существует такая вещь, как «немецкая сборка» (зачем вам пересобирать что-то, чтобы просто изменить язык по умолчанию?), Но вполне вероятно, что текущий пользовательский язык влияет на то, какие зоны он выбирает для представления.
Тоби Спейт
Есть несколько причин, по которым поставщик телефона может захотеть сделать разные сборки прошивки для разных стран. Одним из них является упрощение процесса первоначальной настройки для покупателей. Другой - сделать жизнь серых импортеров тяжелее. Другой способ сэкономить место для хранения. Другой вариант - менять комплектную посуду.
plugwash
Afaict andriod позволяет продавцу телефона выбирать, какие варианты локализации включить при сборке прошивки.
plugwash
Ах, вы говорите о создании дистрибутива из пакетов; Я думал, что вы имели в виду перекомпиляцию программ просто для смены языка. Это имеет больше смысла сейчас.
Тоби Спейт
4

Что еще нужно иметь в виду, это летнее время.

В одном городе может быть включено летнее время, тогда как в другом городе с такой же долготой (и, следовательно, с тем же часовым поясом), но ближе к экватору, летнее время не будет включено.

KizilKar
источник
Приятно предположить, что может быть научная причина, по которой два города в одном часовом поясе могут по-разному выбирать, использовать летнее время или нет. Я подозреваю, что чаще всего это вопрос местной политики, а не науки вообще.
Давидбак
Вы правы в том, что это больше ориентировано на человека, чем на науку, но на самом деле это не столько политический случай (хотя это делают политики), а скорее экономическая ситуация. Вот ссылка на статью в Википедии об этом для тех, кто заинтересован. Daylight_saving_time
KizilKar
2
Что ж, это хорошая статья, но она также показывает, что я имел в виду под «политикой» - вы заметите, что в обширном разделе «Спор о преимуществах и недостатках» нет никаких окончательных результатов - для каждой претензии или исследования в пользу DST есть один против Сторонники и недоброжелатели просто утверждают свою сторону, но никто не может указать на что-то определенное. Так что на самом деле это определение «политики» - люди используют аргументацию (риторику) вместо науки для достижения своих целей ...
Давидбак
1
Стоит также отметить, что страны могут по политическим причинам изменить эту политику в какой-то момент. Наличие одного часового пояса на страну является хорошей практикой.
Joojaa