У меня проблемы с преобразованием UTC Time
или TimeWithZone
местного времени в Rails 3.
Скажем moment
, какая-то Time
переменная в формате UTC (например moment = Time.now.utc
). Как мне перейти moment
на мой часовой пояс, заботясь о DST (например, используя EST / EDT)?
Точнее, я хотел бы распечатать «Понедельник, 14 марта, 9 AM», если время соответствует 9 AM EDT сегодня утром, и «Понедельник 7 марта, 9 AM», если время было 9 AM EST в прошлый понедельник.
Надеюсь, есть другой способ?
Изменить : сначала я подумал, что «EDT» должен быть признанным часовым поясом, но «EDT» не является фактическим часовым поясом, больше похожим на состояние часового пояса. Например, нет смысла просить Time.utc(2011,1,1).in_time_zone("EDT")
. Это немного сбивает с толку, поскольку «EST» - это фактический часовой пояс, используемый в нескольких местах, которые не используют летнее время и имеют (UTC-5) год.