У меня есть запись foo
в базе данных с атрибутами :start_time
и :timezone
.
:start_time
- это время в UTC - 2001-01-01 14:20:00
, например.
Например, :timezone
представляет собой строку - America/New_York
.
Я хочу создать новый объект Time со значением :start_time
, но чей часовой пояс указан :timezone
. Я не хочу загружать :start_time
, а затем конвертировать в :timezone
, потому что Rails будет умным и обновит время с UTC, чтобы соответствовать этому часовому поясу.
В настоящее время
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
Вместо этого я хочу видеть
=> Sat, 01 Jan 2000 14:20:00 EST -05:00
т. Я хочу сделать:
t
=> 2000-01-01 14:20:00 UTC
t.zone = "America/New_York"
=> "America/New_York"
t
=> 2000-01-01 14:20:00 EST