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