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


Я живу в Вене. Мое новоиспеченное устройство 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

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


117
2018-03-13 09:09


Источник


IIRC они могут иметь несколько иные законы о летнее время. - Daniel B
«И насколько я помню, Париж и Берлин всегда были в том же часовом поясе ...» Правильно, но программист не блокирует вас такими предположениями («... поэтому они всегда будут»), потому что нет необходимости. - Lightness Races in Orbit
Часовой пояс сложно, - Zoredache
Видимо, тогда вы слишком молоды, чтобы помнить 1976-1979 годы, когда Франция наблюдала DST, но Германия этого не делала. Или до 1940 года, когда Франция использовала GMT. - user46971
IMO с точки зрения разработчика, это также будет хорошим вопросом по теме для ux.stackexchange.com: аналогично дилемме нации / флага / языка, это несколько смешает географические и «политические» концепции. помните, что даже «G» в «GMT» - это место (Гринвич). У Windows 98 и старше была хорошая карта, где вы могли выбрать часовой пояс, используя селектор, который выделил бы приблизительную площадь планеты, соответствующую положению мыши. - dlatikay


Ответы:


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

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

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

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


140
2018-03-13 10:31



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


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

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

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


78
2018-03-13 17:31



Звучит разумно. В этом случае, однако, было бы разумнее показать список всех основных имен городов (как это делает Windows), а не только несколько избранных (как это делает Android): как житель Вены, как я должен знать, что я должен выбрать «Амстердам» вместо «Брюсселя» (который является своего рода столицей ЕС, который определяет текущие правила летнего времени для региона) или «Белград» (который является географически ближайшим) или «Сараево» (который был частью нашей империи один раз, прежде чем плохие вещи начали происходить ~ 100 лет назад). - Heinzi
@Heinzi, потому что маловероятно, что 2 города внутри страны с 1 часовым поясом будут иметь разные часовые пояса. Как правило, вся страна изменится. Как правило, выбирайте столицу страны. - Tim
@Tim: Верно, но есть более 4 стран (и, следовательно, более 4 столичных городов) в GMT + 01: 00. - Heinzi
@Heinzi: Я хотел бы согласиться с тем, что показывать больше городов было бы хорошо. - Lightness Races in Orbit
Я думаю, что первые два абзаца здесь наиболее точно и кратко отвечают на этот вопрос. Исторический анализ Daniel B интересен, но не относится к текущим устройствам. Я думаю, что последний абзац нереалистичен, хотя и потребовал бы перечисления стольких городов для учета всех возможных будущих изменений. Изменения в часовых поясах в будущем редки и трудно предсказать события, которые потребуют обновления ОС и в любом случае будут соответствовать кампаниям в области общественной информации. Вопрос UX о том, насколько гранулированность дает интересный вопрос, хотя, вероятно, не обусловлен потенциальными изменениями TZ. - zelanix


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

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

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

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

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

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

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

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


12
2018-03-14 09:18



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


Что-то еще, о чем нужно помнить, - это дневная экономия.

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


4
2018-03-15 08:42



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