1

What's the correct time zone offset for "Januray, 1st 1000" for a Java program running in Zurich?

Background: When I use joda-time 2.1,

new DateTime( 1000, 1, 1, 0, 0, 0, 0, DateTimeZone.forID( "Europe/Zurich" ) ).toString()

gives me

1000-01-01T00:00:00.000+00:34:08

which seems odd because of the time zone offset 00:34:08 (an 34:08 minute offset??). Looking into the europe entry in the IANA Timezone Database, I see this:

# Zone  NAME            GMTOFF  RULES   FORMAT  [UNTIL]
Zone    Europe/Zurich   0:34:08 -       LMT     1848 Sep 12
                        0:29:44 -       BMT     1894 Jun # Bern Mean Time
                        1:00    Swiss   CE%sT   1981
                        1:00    EU      CE%sT

This gives all times before Sept. 12th, 1848 an offset of 34:08 which doesn't seem right.

Can someone shed some light on this?

Charles
  • 50,943
  • 13
  • 104
  • 142
Aaron Digulla
  • 321,842
  • 108
  • 597
  • 820
  • 1
    Before timezones were standardised they were based purely of the local idea of when midday was, often noon was when the sun was highest in the sky. This could be any offset. People would often start the day at sunrise and go to bed around sunset. – Peter Lawrey May 31 '12 at 12:24
  • 1
    I have to ask why you need this :-) ? – Brian Agnew May 31 '12 at 12:32
  • I have a date validation routine which uses a time range `[1.1.1000 ... 1.1.3000)` The unit tests fail when they are run with a different time zone and when DST switches. I either get different results for `toString()`/`format()` or `getMillis()`. – Aaron Digulla May 31 '12 at 12:33
  • @AaronDigulla - that doesn't really answer the question :-) – Stephen C May 31 '12 at 12:45
  • See also: http://stackoverflow.com/questions/10833948/make-unit-tests-with-dates-pass-in-all-time-zones-and-with-out-dst – Aaron Digulla May 31 '12 at 12:49

2 Answers2

2

From here

Interestingly, many French maps showed zero degrees at Paris for many years despite the International Meridian Conference’s outcomes in 1884. GMT was the universal reference standard – all other times being stated as so many hours ahead or behind it – but the French continued to treat Paris as the prime meridian until 1911. Even so, the French defined legal time as Paris Mean Time minus nine minutes and 21 seconds. In other words, this was the same time as GMT

(my emphasis)

So I suspect Paris was not the only European city to act in this fashion

Brian Agnew
  • 268,207
  • 37
  • 334
  • 440
2

Wikipedia, on European time zones:

1894

  • Switzerland switches from UTC+00:30 to CET
  • Liechtenstein introduces CET.
  • Denmark adopts CET.

I suspect the leftover seconds are compensatory changes that have been made since 1894, leap seconds and the like.

Louis Wasserman
  • 191,574
  • 25
  • 345
  • 413
  • Ah, I begin to understand: They used 34:08 as offset before 1848. Between 1848 and 1894, that offset was corrected to 29:44 until 1981, they switched to "proper" (half-hour based) time zones. – Aaron Digulla May 31 '12 at 12:36
  • Indeed, that's how I'm reading this -- although I think all the time zone offsets are stated relative to our _current_ clocks. So in 1848 they were `34:08` ahead of us, but the people of 1848 would think of it as _us_ being `34:08` _behind_. I think. Maybe it's the other way around. – Louis Wasserman May 31 '12 at 12:37