Ho un record foo
nel database che ha :start_time
e :timezone
attributi.
L' :start_time
ora è in UTC - 2001-01-01 14:20:00
, per esempio. Il :timezone
è una stringa - America/New_York
, per esempio.
Voglio creare un nuovo oggetto Time con il valore di :start_time
ma il cui fuso orario è specificato da :timezone
. Non voglio caricare :start_time
e poi convertire in :timezone
, perché Rails sarà intelligente e aggiornerà l'ora da UTC per essere coerente con quel fuso orario.
Attualmente,
t = foo.start_time
=> 2000-01-01 14:20:00 UTC
t.zone
=> "UTC"
t.in_time_zone("America/New_York")
=> Sat, 01 Jan 2000 09:20:00 EST -05:00
Invece, voglio vedere
=> Sat, 01 Jan 2000 14:20:00 EST -05:00
vale a dire. Voglio fare:
t
=> 2000-01-01 14:20:00 UTC
t.zone = "America/New_York"
=> "America/New_York"
t
=> 2000-01-01 14:20:00 EST