Rails 3.1.1 поведение часового пояса - PullRequest
2 голосов
/ 06 ноября 2011

У меня есть проблема, связанная с поведением часового пояса приложения 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.

1 Ответ

2 голосов
/ 06 ноября 2011

Вы не делаете ничего плохого.Летнее время изменилось сегодня, 6 ноября, в 2 часа ночи.Так что время 9:05, а не 8:05.Кроме того, Нью-Йорк в восточном, а не атлантическом времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...