題 格林威治標準時間+ 01:00阿姆斯特丹和格林尼治標準時間+ 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

有什麼不同?特別是,“浪漫標準時間”和“歐洲標準時間”之間有什麼區別? 根據維基百科,他們應該是一樣的。 據我記憶所及,巴黎和柏林一直處於同一時區......


117
2018-03-13 09:09


起源


IIRC他們的DST法律可能略有不同。 - Daniel B
“據我所知,巴黎和柏林一直處於同一時區......” 是的,但程序員並沒有把你鎖定在這樣的假設中(“因此他們總是會”),因為沒有必要。 - Lightness Races in Orbit
時區是 複雜。 - Zoredache
顯然,那麼,你太年輕了,不記得1976-79,當時法國觀察到DST,但德國卻沒有。或者在1940年之前,法國使用GMT。 - user46971
從開發人員的角度來看,IMO對於ux.stackexchange.com來說也是一個很好的主題問題:類似於國家/旗幟/語言困境,這有點混合了地理和“政治”概念。記住,即使是“GMT”中的“G”也是一個地方(格林威治)。 Windows 98及更早版本有一個很好的地圖,您可以使用選擇器選擇時區,該選擇器將突出顯示鼠標懸停時對應的行星的大致區域。 - dlatikay


答案:


如果僅查看當前,許多時區將顯得多餘。但是,如果你回顧過去,你會發現很多不同之處。舉個例子,讓我們來看看 源代碼 歐洲/布辛根(實際上是歐洲/蘇黎世的鏈接)和歐洲/柏林時區。 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

首先,請注意最後一行是如何相同的:今天都使用中歐(夏季)時間。之前的一切都變化很大。德國在1980年採用了CE(S)T,而瑞士在1981年採用了CE(S)T。

由於荷蘭和比利時如何受到第一次世界大戰和第二次世界大戰的影響等等,它們的歷史甚至更長,所以我不會在這裡包括它們。您可以下載數據並親自查看。這是一個非常有趣的讀物,因為它包含了對許多州的計時歷史的廣泛研究。


140
2018-03-13 10:31



因為過去的差異可能看起來像是學術性的。直到您需要比較1980年以前的歷史日誌文件中的時間戳,並在不同時區運行的系統上生成時間戳。那麼你很高興存在時區感知標準函數庫,可以轉換日期/時間,並正確計算這些差異。 - Tonny
著名的例子: 為什麼減去這兩次(在1927年)給出一個奇怪的結果?。 - phuclv
Büsingen是程序員的噩夢。它是衡量某些圖書館的衡量標準:它有兩個郵政編碼,它需要繳納德國所得稅,但不含增值稅等等。 - chx
你可能會說很久以前的事情,1981年肯定沒有計算機系統關心時區,但例如葡萄牙在1992年和1996年改變了時區。 - biziclop


簡短的回答:你沒有選擇“阿姆斯特丹GMT + 01:00”;你選擇“阿姆斯特丹(目前是GMT + 01:00)”。

絕對時間偏移的顯示只是您今天選擇實際意義的有用指標,但事實並非如此 限定 你正在做的選擇。

如果您選擇“阿姆斯特丹”並且阿姆斯特丹的時區後來單獨更改為布魯塞爾,您的計算機將專門跟踪阿姆斯特丹。


78
2018-03-13 17:31



聽起來很合理。然而,在這種情況下,顯示所有主要城市名稱的列表(如Windows所做的)更有意義,而不僅僅是少數幾個(如Android所做的那樣):作為維也納居民,我怎麼知道我應該選擇“阿姆斯特丹”而不是“布魯塞爾”(這是歐盟的那種資本,它定義了該地區當前的DST規則)或“貝爾格萊德”(地理位置最接近)或“薩拉熱窩”(其中的一部分)我們的帝國一次,在壞事開始發生之前〜100年前)。 - Heinzi
@Heinzi因為1個時區的國家中的2個城市不太可能有不同的時區。通常情況下,整個國家都會改變。通常,選擇國家的首都。 - Tim
@Tim:沒錯,但GMT + 01:00有超過4個國家(因此超過4個省會城市)。 - Heinzi
@Heinzi:我傾向於同意讓更多的城市變得更好。 - Lightness Races in Orbit
我認為前兩段最準確,最簡潔地回答了這個問題。 Daniel B的歷史分析很有意思,但與當前的設備無關。我認為最後一段是不切實際的,並且需要列出這麼多城市來解釋所有可能的未來變化。未來的時區變化很少,很難預測需要操作系統更新的事件,無論如何都要與公共信息活動相匹配。雖然提供了多少粒度的UX問題是一個有趣的問題,但可能不是由潛在的TZ變化驅動的。 - zelanix


確定時區數據庫中的區域是以下兩者之間的折衷:

  • 保持區域數量和整體數據庫大小合理
  • 為歷史時間戳提供準確的轉換
  • 面對未來民事時間定義的變化,最大限度地減少重新配置的需要。

“TZ數據庫”(幾乎所有操作系統供應商都使用除Microsoft之外)將時區定義為“自1970年以來本地時鐘都已達成一致的國家區域”。

因此,一般而言(圍繞歷史國家存在一些例外情況)不同國家的地方即使自1970年以來擁有相同的當地時間,也會獲得不同的時區名稱。

每個區域通常由其區域和主要城市確定(有一些例外)。 1970年以前的數據試圖在該區域的主要城市準確,但只有在1970年後的差異時才會拆分區域。

默認情況下,某些平台可能會隱藏一些次要區域,但這似乎不是這種情況。您的清單缺少“維也納”和“柏林”等主要區域

根據您的列表,我想知道它是否是本地化的東西。也許他們認為德語國家的人會使用德語版的操作系統。

MS在時區上做自己的事情。我不知道他們判斷某些東西是否在同一區域的標準是什麼,但我希望它是“自Windows開始支持時區以來當地時間不同的地方”。


12
2018-03-14 09:18



我不確定是否有“德語構建”這樣的東西(你為什麼要重新構建一些東西只是為了改變默認語言?),但它肯定是合理的 當前的用戶語言 影響它選擇呈現的區域。 - Toby Speight
電話供應商可能希望為不同的國家/地區執行不同的固件構建有幾個原因。一個是讓買家第一次設置過程更容易。另一個是讓灰色進口商的生活更加艱難。另一個是節省存儲空間。另一個是改變捆綁的crapware。 - plugwash
Afaict andriod允許手機供應商在構建固件時選擇要包含的本地化選項。 - plugwash
啊,你在談論建設 分配 來自包裹;我以為你的意思是重新編譯 程式 只是為了改變語言。這現在更有意義。 - Toby Speight


要記住的其他事項是夏令時。

一個城市可能啟用夏令時,而另一個城市在同一經度(因此相同的時區)但更接近赤道將不會啟用夏令時。


4
2018-03-15 08:42



很高興你可以提出一個科學原因,為什麼同一時區的兩個城市可能會選擇不同的是否有夏令時。我懷疑,更典型的是,它只是地方政治問題,而不是任何科學問題。 - davidbak
你是正確的,它更多的是人為驅動而不是科學,但它實際上不是一個政治案例(雖然政治家製定了這個),更多的是經濟學案例。這是一篇關於感興趣的維基百科文章的鏈接。 Daylight_saving_time - KizilKar
這是一篇好文章,但它也顯示了我所說的“政治” - 你會注意到在廣泛的“利益和缺點爭議”一節中沒有任何 確鑿 結果 - 對於支持DST的每項索賠或研究,有一項反對它。支持者和批評者只是爭論他們的一面,但沒有人可以指出任何確定的東西。這就是“政治”的定義,實際上 - 人們使用論證(修辭)而不是科學來實現他們的目標...... - davidbak
值得注意的是,各國可能出於政治原因在某種程度上改變了這一政策。每個國家有一個時區是一個很好的做法。 - joojaa