阿姆斯特丹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

有什么不同?特别是,“浪漫标准时间”和“西欧标准时间”有什么区别?根据维基百科,它们应该是相同的。据我所记得,巴黎和柏林一直处于同一时区...


26
IIRC他们的DST法律可能略有不同。
Daniel B

22
“据我所记得,巴黎和柏林一直处在同一时区……”不错,但是程序员并没有将您锁定在这样的假设中(“ ...因此永远如此”),因为没有必要。
Lightness Races in Orbit

20
时区很复杂
Zoredache

17
显然,您还不记得1976-79年,当时法国观测到DST,而德国却没有。或1940年以前,法国使用GMT。
user46971 2017年

6
从开发人员的角度来看,IMO对于ux.stackexchange.com来说也是一个不错的话题:类似于国家/国旗/语言困境,这在某种程度上融合了地理和“政治”概念。请记住,即使是“ GMT”中的“ G”也是一个地方(格林威治)。Windows 98和更早的Windows都有一个不错的地图,您可以在其中使用选择器选择时区,该选择器会突出显示鼠标悬停时对应于该行星的大致区域。
dlatikay

Answers:


140

如果仅看现在,许多时区将显得多余。但是,如果您回顾过去,会发现很多差异。例如,让我们看一下欧洲/布辛根(实际上是到欧洲/苏黎世的链接)和欧洲/柏林时区的源代码。比辛根是德国人,完全封闭在瑞士境内。

欧洲/苏黎世:

# 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。

由于第一次世界大战和第二次世界大战对荷兰和比利时的影响,而它们的历史却更长,因此在此不再赘述。您可以下载数据并亲自查看。这是一个非常有趣的读物,因为它包含了对许多州的计时历史的广泛研究。


67
因为过去的差异似乎是学术上的。直到您需要比较1980年以前的历史日志文件中的时间戳和在不同时区运行的系统上生成的时间戳。然后,您很高兴知道存在时区感知标准函数库,该函数库可以正确计算这些差异来转换日期/时间。
Tonny


11
布辛根是程序员的噩梦。它是判断某些图书馆的标准:它有两个邮政编码,它要缴纳德国所得税,但不缴纳增值税等。
chx

1
您可能会说很久以前,肯定没有计算机系统关心1981年的时区,但是例如葡萄牙在1992年和1996
。– biziclop

78

简短答案:您未选择“阿姆斯特丹GMT + 01:00”;您选择的是“阿姆斯特丹(目前为GMT + 01:00)”。

绝对时间偏移的显示只是您的选择实际上今天意味着什么的有用指示,但是它并没有定义您要进行的选择。

如果您选择“阿姆斯特丹”,并且阿姆斯特丹的时区以后分别更改为布鲁塞尔的时区,则您的计算机将专门跟踪阿姆斯特丹。


9
听起来很合理。但是,在那种情况下,显示所有主要城市名称的列表(如Windows)而不是仅选择少数几个名称(如Android)更有意义:作为维也纳居民,我应该怎么知道我应该选择“阿姆斯特丹”,而不是“布鲁塞尔”(这是欧盟的首府,定义了该地区当前的DST规则)或“贝尔格莱德”(在地理位置上最接近)或“萨拉热窝”(这是大约在100年前开始发生坏事之前)。
Heinzi

3
@Heinzi,因为在一个时区为一个国家的国家中,两个城市不太可能会有不同的时区。通常,整个国家都会改变。通常,选择国家的首都。
蒂姆(Tim)

7
@蒂姆:是的,但是格林尼治标准时间+01:00有4个以上的国家(因此,有4个以上的首都城市)。
Heinzi

@Heinzi:我倾向于同意显示更多的城市会很好。
Lightness Races in Orbit

我认为这里的前两段最准确,最简洁地回答了这个问题。Daniel B的历史分析很有趣,但与当前设备无关。我认为最后一段是不现实的,并且需要列出这么多城市以说明未来所有可能的变化。将来的时区更改很少见,很难预测需要更新操作系统并与公共宣传活动相匹配的事件。UX给出多少粒度的问题虽然是一个有趣的问题,但可能不是由潜在的TZ变化驱动的。
zelanix

12

决定时区数据库中要包含的区域是以下两者之间的折衷:

  • 保持区域数量和整体数据库大小合理
  • 提供历史时间戳的准确转换
  • 面对将来对民事时间定义的更改,最大限度地减少了重新配置的需要。

“ TZ数据库”(除Microsoft外,几乎每个操作系统供应商都使用它)将时区定义为“自1970年以来所有本地时钟都已同意的国家区域”。

因此,总的来说(即使历史国家分裂,也有一些例外),即使自1970年以来当地时间相同,不同国家/地区的地点也会获得不同的时区名称。

每个区域通常由其区域和主要城市来标识(有一些例外)。1970年前的数据试图对该区域中的主要城市准确,但是只有在1970以后的差异时才对区域进行分割。

默认情况下,某些平台可能会隐藏一些较小的区域,但此处似乎并非如此。您的列表缺少主要区域,例如“维也纳”和“柏林”

根据您的列表,我想知道这是否是本地化的事情。也许他们认为说德语的国家的人会使用德语版本的OS。

MS在时区上做自己的事情。我不知道他们用来确定某个区域是否位于同一区域的标准是什么,但是我希望这是“自Windows开始支持时区以来本地时间不同的地方”。


我不确定是否存在“德语构建”之类的东西(为什么要重新构建某些内容以更改默认语言?),但是当前用户语言会影响它选择显示的区域肯定是合理的。
Toby Speight

电话供应商可能想为不同国家/地区制作不同的固件有多种原因。一种是使购买者更容易进行首次设置。另一个是使灰色进口商的生活更加艰难。另一个是节省存储空间。另一个是改变捆绑的餐具。
–plugwash

Afaict andriod使电话供应商可以选择在构建固件时要包括的本地化选项。
–plugwash

嗯,您是在谈论从软件包构建发行版;我以为您是要重新编译程序以更改语言。现在这更有意义。
Toby Speight

4

另外要记住的是夏令时。

一个城市可能启用了夏令时,而另一座经度相同(因此时区相同)但距赤道较近的城市则不会启用夏令时。


你们很高兴地建议,可能存在科学上的原因,即在同一时区的两个城市是否会选择不同的夏令时。我怀疑,更典型地,这仅仅是地方政治问题,而不是任何科学问题。
davidbak

没错,这是科学驱动的,而不是人类驱动的,但实际上,这不是政治案例(尽管是政客制定),而更多是经济学案例。这是针对感兴趣者的Wikipedia文章链接。 日光
节约时间

2
好吧,这是一篇很好的文章,但它也显示了我所说的“政治”的含义-您会注意到,在广泛的“ 利弊争议”部分中,没有任何确凿的结果-针对DST的每项主张或研究有一个反对。支持者和反对者只是在争论自己的立场,但没有人能指出任何确定的东西。这就是“政治”的定义,实际上-人们使用论点(修辞学)而不是科学来实现自己的目标……
davidbak

1
还值得注意的是,一些国家可能出于政治原因在某些时候改变这项政策。每个国家/地区设置一个时区是一个好习惯。
joojaa
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.