我有一个与Rails 3.1.1应用程序的时区行为有关的问题。以下是我在控制台上所做的操作:
(rdb:1) Time.zone = "Amsterdam"
"Amsterdam"
(rdb:1) Time.zone.parse("Sun, 06 Nov 2011 13:05:18 +0000")
Sun, 06 Nov 2011 14:05:18 CET +01:00
(rdb:1) Time.zone = "Atlantic Time (Canada)"
"Atlantic Time (Canada)"
(rdb:1) Time.zone.parse("Sun, 06 Nov 2011 13:05:18 +0000")
Sun, 06 Nov 2011 09:05:18 AST -04:00
我对象的时间戳是UTC。在我的时区阿姆斯特丹,当我创建它的时候是14:05。纽约的时区是"大西洋时间(加拿大)"。解析该区域的时间戳结果为09:05。但这是错误的,应该是08:05。
此外,两个区域之间的时差看起来是-4 -1 = -5,但实际上是-6小时。
那个行为完全破坏了我的应用程序的行为。我哪里做错了?
的问候Felix .
你没有做错任何事。夏时制于11月6日凌晨2点改变。所以现在是9:05,而不是8:05。而且,纽约是东部时间,而不是大西洋时间。