Ich habe einen Datensatz fooin der Datenbank, der :start_timeund :timezoneAttribute hat.
Das :start_timeist eine Zeit in UTC - 2001-01-01 14:20:00zum Beispiel. Das :timezoneist eine Zeichenfolge - America/New_Yorkzum 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_timeund 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