Mam problem z konwersją czasu UTC Time
lub TimeWithZone
czasu lokalnego w Rails 3.
Powiedzmy, że moment
to jakaś Time
zmienna w UTC (np moment = Time.now.utc
.). Jak przestawić się moment
na moją strefę czasową, dbając o czas letni (tj. Używając EST / EDT)?
Dokładniej, chciałbym wydrukować „Poniedziałek 14 marca, 9:00”, jeśli godzina odpowiada dzisiejszej godzinie 9:00 EDT i „Poniedziałek 7 marca, 9:00”, jeśli w ostatni poniedziałek był to 9:00 czasu wschodniego.
Mam nadzieję, że jest inny sposób?
Edycja : Najpierw pomyślałem, że „EDT” powinno być rozpoznawalną strefą czasową, ale „EDT” nie jest rzeczywistą strefą czasową, bardziej przypomina stan strefy czasowej. Na przykład nie miałoby sensu prosić Time.utc(2011,1,1).in_time_zone("EDT")
. Jest to trochę zagmatwane, ponieważ „EST” to rzeczywista strefa czasowa, używana w kilku miejscach, w których nie jest używany czas letni i obowiązuje przez cały rok (UTC-5).