У мене проблеми з перетворенням UTC Time
або TimeWithZone
місцевого часу в Rails 3.
Скажімо, moment
це якась Time
змінна в UTC (наприклад moment = Time.now.utc
). Як мені перевести moment
свій часовий пояс, піклуючись про літній час (тобто за допомогою EST / EDT)?
Точніше, я хотів би роздрукувати "Понеділок, 14 березня, 9:00", якщо час відповідає сьогоднішньому ранку, 9 ранку EDT, і "Понеділок 7 березня, 9:00", якщо час був 9:00 EST минулого понеділка.
Сподіваємось, є інший спосіб?
Редагувати : Я спочатку подумав, що "EDT" повинен бути визнаним часовим поясом, але "EDT" не є фактичним часовим поясом, більше схожим на стан часового поясу. Наприклад, не було б сенсу просити Time.utc(2011,1,1).in_time_zone("EDT")
. Це трохи заплутано, оскільки "EST" - це фактичний часовий пояс, який використовується в кількох місцях, де не використовується перехід на літній час і (UTC-5) триває рік.