Как я могу получить исходный часовой пояс даты-времени iso8601? - PullRequest
0 голосов
/ 10 марта 2011

Моему приложению rails 3 необходимо взаимодействовать с внешним веб-сервисом.Этот веб-сервис предоставляет информацию о дождливых событиях на всей территории США (в конечном счете, страна не имеет значения).Соответствующей информацией является время начала / окончания, отформатированное как ISO8601, включая часовой пояс.Сервер будет работать на восточном побережье США (поэтому EST, скоро будет EDT).Все записи в базе данных будут сохранены как UTC.

Мне нужно иметь возможность хранить часовой пояс (TZ), в котором происходит событие, поэтому я предоставляю пользователю варианты просмотра событий в своем собственном TZ илиВозникший ТЗ.Как только они достигают места, им будет все равно, если событие начнется на основе их ТОМА ДОМА, но ТЗ, в котором произойдет событие.Посмотрите любой способ (минус ручная обработка строк), чтобы получить оригинал, -06: 00 TZ (MST).Я действительно надеялся, что будет RoR способ получить эту информацию ... кажется, что должен быть способ!

1 Ответ

0 голосов
/ 10 марта 2011

Если вы используете Time, вы потеряете информацию, но если вы используете DateTime, с вами все будет в порядке:

DateTime.parse("2011-04-08T10:00:00-06:00")
# => Fri, 08 Apr 2011 10:00:00 -0600

Класс DateTime гораздо надежнее Time и может кодировать гораздо больше информации, хотя и медленнее и требует больше памяти. К счастью, производительность не будет проблемой, если вы не тратите большую часть своего времени на манипулирование такими значениями в больших пакетных операциях.

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