我遇到与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小时。
这种行为彻底摧毁了我的应用行为。我在这里做错了什么?
此致 菲利克斯。
答案 0 :(得分:2)
你没有做错任何事。 DST今天11月6日凌晨2点改变了。所以时间是9:05,而不是8:05。此外,纽约是东部时间,而不是大西洋时间。