J'ai un record foo dans la base de données qui a :start_timeet des :timezoneattributs.
Le :start_timeest un temps en UTC -2001-01-01 14:20:00 , par exemple. Le :timezoneest une chaîne - America/New_York, par exemple.
Je souhaite créer un nouvel objet Time avec la valeur de :start_timemais dont le fuseau horaire est spécifié par:timezone . Je ne veux pas charger :start_timepuis convertir en :timezone, car Rails sera intelligent et mettra à jour l'heure UTC pour être cohérente avec ce fuseau horaire.
Actuellement,
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
Au lieu de cela, je veux voir
=> Sat, 01 Jan 2000 14:20:00 EST -05:00
c'est à dire. Je veux faire:
t
=> 2000-01-01 14:20:00 UTC
t.zone = "America/New_York"
=> "America/New_York"
t
=> 2000-01-01 14:20:00 EST