117

I live in Vienna. My newly reset Android device just asked me about my time zone and I have multiple options available:

Amsterdam GMT+01:00
Belgrade GMT+01:00
Brussels GMT+01:00
Sarajevo GMT+01:00

Apparently, Windows also offers different GMT+01:00 time zones, so that's not something specific to 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

What's the difference? In particular, what's the difference between "Romance Standard Time" and "W. Europe Standard Time"? According to Wikipedia, they should be the same. And as far as I can remember, Paris and Berlin have always been in the same time zone...

  • 26
    IIRC they may have slightly different DST laws. – Daniel B Mar 13 '17 at 9:35
  • 22
    "And as far as I can remember, Paris and Berlin have always been in the same time zone..." Right but a programmer doesn't lock you into assumptions like this ("...therefore they always will be"), because there's no need to. – Lightness Races with Monica Mar 13 '17 at 17:40
  • 20
    Timezones are complicated. – Zoredache Mar 13 '17 at 19:36
  • 17
    Apparently, then, you're too young to remember 1976-79, when France observed DST but Germany did not. Or pre-1940, when France used GMT. – user46971 Mar 13 '17 at 22:24
  • 6
    IMO from a developer perspective, this would also be a good, on-topic question for ux.stackexchange.com: similar to the nation/flag/language dilemma, this is somewhat mixing geographical and "political" concepts. remember, even the "G" in "GMT" is a place (Greenwich). Windows 98 and older had a nice map, where you could select the time zone using a selector that would highlight the approximate area of the planet it corresponds to on mouseover. – dlatikay Mar 14 '17 at 21:17
139

If you only look at the present, many time zones will appear redundant. However, if you look at the past, you will find a lot of differences. As an example, let’s look at the source code of the Europe/Busingen (actually a link to Europe/Zurich) and Europe/Berlin time zones. Büsingen is a German exclave entirely enclosed within Swiss territory.

Europe/Zurich:

# 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

Europe/Berlin:

# 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

First and foremost, note how the last line is identical: Both use Central European (Summer) Time today. Everything before that varies wildly. Germany adopted the CE(S)T in 1980, while Switzerland did that a year later in 1981.

Because of how both the Netherlands and Belgium were affected by the First and Second World War and whatnot, their history is even longer, so I won’t include them here. You can download the data and see for yourself. It’s a very interesting read because it contains extensive research into the history of timekeeping on many states.

  • 67
    Because the differences where in the past it may appear to be academic. Until you need to compare time-stamps in historic log-files dating from before 1980 and generated on systems running in different time-zones. Then you are very glad that timezone aware standard function libraries exist that can convert dates/times with these differences properly calculated. – Tonny Mar 13 '17 at 16:26
  • 37
  • 11
    Büsingen is the nightmare of programmers. It is the measuring stick by which certain libraries are judged: it has two post codes, it is subject to German income taxes but not their VAT and so on. – chx Mar 15 '17 at 22:40
  • 1
    And you might say all that was a long time ago, surely no computer system cared about time zones in 1981, but for example Portugal changed time zones in 1992 and then in 1996. – biziclop Mar 16 '17 at 14:41
78

Short answer: you're not selecting "Amsterdam GMT+01:00"; you're selecting "Amsterdam (which at the moment is GMT+01:00)".

The display of the absolute time offset is just a useful indicator of what your selection practically means today, but it doesn't define the selection you're making.

If you choose "Amsterdam" and Amsterdam's timezone later changes separately to Brussels's, your computer will track Amsterdam specifically.

  • 9
    Sounds reasonable. In that case, however, it would make more sense to show a list of all major city names (as Windows does) instead of just a select few (as Android does): As a Vienna resident, how am I supposed to know that I should select "Amsterdam" instead of "Brussels" (which is the sort-of capital of the EU, which defines the current DST rules for the region) or "Belgrade" (which is geographically closest) or "Sarajevo" (which was part of our empire once, before bad things started to happen ~100 years ago). – Heinzi Mar 14 '17 at 9:28
  • 3
    @Heinzi because it is unlikely that 2 cities within a country with 1 time zone will have different time zones. Normally, the whole country would change. Typically, pick the capital of the country. – Tim Mar 14 '17 at 10:49
  • 7
    @Tim: True, but there are more than 4 countries (and, thus, more than 4 capital cities) in GMT+01:00. – Heinzi Mar 14 '17 at 10:51
  • @Heinzi: I would tend to agree that showing more cities would be good. – Lightness Races with Monica Mar 14 '17 at 12:14
  • I think that the first two paragraphs here most accurately and concisely answer this question. The historical analysis by Daniel B is interesting, but not relevant to current devices. I think the last paragraph is unrealistic though and would require listing so many cities to account for all possible future changes. Future time zone changes are rare and hard to predict events that would require OS updates and be matched with public information campaigns anyway. The UX question of how much granularity to give is an interesting question though, but probably isn't driven by potential TZ changes. – zelanix Mar 17 '17 at 12:32
12

Deciding what zones to have in a timezone database is a compromise between:

  • keeping the number of zones and overall DB size reasonable
  • providing accurate conversions for historical timestamps
  • minimising the need for reconfiguration in the face of future changes to the definition of civil time.

The "TZ database" (used by pretty much every OS vendor except Microsoft) defines a timezone as a "national region where local clocks have all agreed since 1970".

So generally (there have been some exceptions surrounding historical countries that split) places in different countries will get different timezone names even if they have had the same local time since 1970.

Each zone is generally identified by its region and main city (there are some exceptions). Pre-1970 data attempts to be accurate for the main city in the zone, but a zone will only be split if there is a post-1970 difference.

Some platforms may hide some minor zones by default, but that doesn't seem to be the case here. Your list is missing major zones like "Vienna" and "Berlin"

Based on your list, I wonder if it is a localisation thing. Maybe they assume people in German-speaking countries will be using the German build of the OS.

MS does their own thing on timezones. I do not know what their criteria are for deciding whether something is in the same zone or not, but I expect it is something along the lines of "places that have had different local time since Windows started supporting timezones".

  • I'm not sure there's such a thing as a "German build" (why would you re-build something just to change default language?), but it's certainly plausible that the current user language affects which zones it chooses to present. – Toby Speight Mar 16 '17 at 14:08
  • There are several reasons a phone vendor might want to do different firmware builds for different countries. One is to make the first time setup process easier for buyers. Another is to make grey importers lives harder. Another is to save storage space. Another is to vary the bundled crapware. – plugwash Mar 16 '17 at 14:25
  • Afaict andriod lets the phone vendor choose what localisation options to include when building their firmware. – plugwash Mar 16 '17 at 14:26
  • Ah, you're talking of building the distribution from packages; I thought you meant recompiling the programs just to change language. That makes more sense now. – Toby Speight Mar 16 '17 at 14:47
4

Something else to keep in mind is daylight savings.

One city might have daylight saving enabled while another city on the same longitude (and thus the same timezone) but closer to the equator will not have daylight savings enabled.

  • Nice of you to suggest that there might be a scientific reason why two cities in the same timezone might choose differently whether to have daylight savings time or not. I suspect that more typically it is simply a matter of local politics and not any science at all. – davidbak Mar 15 '17 at 14:28
  • You are correct that it is more Human driven than scientific but it is actually less a case of politics (although it is politicians who enact this) and more a case of economics. Here is a link to a Wikipedia article about it for those interested. Daylight_saving_time – KizilKar Mar 16 '17 at 7:11
  • 2
    well that's a good article but it also shows what I meant by "politics" - you'll notice that in the extensive "Dispute over benefits and drawbacks" section there aren't any conclusive results - for each claim or study in favor of DST there's one against it. Proponents and detractors just argue their side but nobody can point to anything definitive. So that's the definition of "politics", really - people using argumentation (rhetoric) rather than science to achieve their goals ... – davidbak Mar 16 '17 at 9:13
  • 1
    Its also worth noting that countries might for political reasons change this policy at some point. Having one timezone per country is a good practice. – joojaa Mar 17 '17 at 21:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.