Ho problemi a convertire l'ora UTC Time
o TimeWithZone
l'ora locale in Rails 3.
Say moment
è una Time
variabile in UTC (ad esempio moment = Time.now.utc
). Come faccio a convertire moment
nel mio fuso orario, prendendomi cura dell'ora legale (cioè utilizzando EST / EDT)?
Più precisamente, vorrei stampare "lunedì 14 marzo, 9 AM" se l'ora corrisponde a questa mattina alle 9 AM EDT e "lunedì 7 marzo, 9 AM" se l'ora era 9 AM EST di lunedì scorso.
Si spera che ci sia un altro modo?
Modifica : prima ho pensato che "EDT" dovrebbe essere un fuso orario riconosciuto, ma "EDT" non è un fuso orario effettivo, più simile allo stato di un fuso orario. Ad esempio, non avrebbe alcun senso chiedere Time.utc(2011,1,1).in_time_zone("EDT")
. È un po 'confuso, poiché "EST" è un fuso orario effettivo, utilizzato in alcuni luoghi che non utilizzano l'ora legale e durano (UTC-5) un anno.