J'ai un record foo
dans la base de données qui a :start_time
et des :timezone
attributs.
Le :start_time
est un temps en UTC -2001-01-01 14:20:00
, par exemple. Le :timezone
est une chaîne - America/New_York
, par exemple.
Je souhaite créer un nouvel objet Time avec la valeur de :start_time
mais dont le fuseau horaire est spécifié par:timezone
. Je ne veux pas charger :start_time
puis 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