Ich habe einen Datensatz foo
in der Datenbank, der :start_time
und :timezone
Attribute hat.
Das :start_time
ist eine Zeit in UTC - 2001-01-01 14:20:00
zum Beispiel. Das :timezone
ist eine Zeichenfolge - America/New_York
zum Beispiel.
Ich möchte ein neues Zeitobjekt mit dem Wert erstellen :start_time
, dessen Zeitzone jedoch durch angegeben ist :timezone
. Ich möchte das nicht laden :start_time
und dann konvertieren :timezone
, da Rails clever ist und die Zeit von UTC aktualisiert, um mit dieser Zeitzone übereinzustimmen.
Zur Zeit,
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
Stattdessen möchte ich sehen
=> Sat, 01 Jan 2000 14:20:00 EST -05:00
dh. Ich will das tun:
t
=> 2000-01-01 14:20:00 UTC
t.zone = "America/New_York"
=> "America/New_York"
t
=> 2000-01-01 14:20:00 EST