【问题标题】:What's the correct time zone before time zones were introduced?引入时区之前的正确时区是什么?
【发布时间】:2012-06-05 16:48:11
【问题描述】:

对于在苏黎世运行的 Java 程序,“Januray, 1st 1000”的正确时区偏移量是多少?

背景:当我使用 joda-time 2.1 时,

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

给我

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

这似乎很奇怪,因为时区偏移00:34:08(34:08 分钟偏移??)。查看IANA Timezone Database 中的europe 条目,我看到了:

# 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

这给出了 1848 年 9 月 12 日之前的所有时间 34:08 的偏移量,这似乎不正确。

有人能解释一下吗?

【问题讨论】:

  • 在时区标准化之前,它们纯粹基于当地人的想法,即中午是什么时候,通常中午是天空中太阳最高的时候。这可以是任何偏移量。人们通常会在日出时开始新的一天,并在日落时分睡觉。
  • 我不得不问你为什么需要这个:-)?
  • 我有一个日期验证例程,它使用时间范围 [1.1.1000 ... 1.1.3000) 单元测试在使用不同的时区运行以及 DST 切换时失败。我要么得到 toString()/format()getMillis() 的不同结果。
  • @AaronDigulla - 这并没有真正回答问题:-)

标签: java timezone


【解决方案1】:

Wikipedia,欧洲时区:

1894

  • 瑞士从 UTC+00:30 切换到 CET
  • 列支敦士登推出 CET。
  • 丹麦采用 CET。

我怀疑剩余的秒数是自​​ 1894 年以来所做的补偿性更改,闰秒等。

【讨论】:

  • 啊,我开始明白了:他们在 1848 年之前使用 34:08 作为偏移量。在 1848 年和 1894 年之间,该偏移量被更正为 29:44,直到 1981 年,他们切换到“正确”(半-基于小时)时区。
  • 确实,这就是我的阅读方式——尽管我认为所有时区偏移量都是相对于我们的 当前 时钟来表示的。所以在 1848 年,他们领先于我们 34:08,但 1848 年的人们会认为 us34:08 落后。我想。也许情况正好相反。
【解决方案2】:

来自here

有趣的是,许多法国地图在巴黎显示为零度数 尽管国际子午线会议在 1884. 格林威治标准时间是通用参考标准——所有其他时间都被规定为提前或落后几个小时——但法国人继续 将巴黎视为本初子午线,直到 1911 年。即便如此,法国人 将法定时间定义为巴黎标准时间减去 9 分钟和 21 秒。换句话说,这与 GMT 时间相同

(我的重点)

所以我怀疑巴黎并不是唯一一个以这种方式行事的欧洲城市

【讨论】:

    猜你喜欢
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 2017-06-30
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 2010-09-10
    相关资源
    最近更新 更多