Я пытаюсь преобразовать дату и время для рельсов в миллисекунды, но в тот момент, когда я звоню .strftime
или .to_i
, он игнорирует назначенный ему часовой пояс и считывает часовой пояс системы
system timezone: Europe/London # currently is +01:00 due to BST
# application.rb
config.time_zone = 'Europe/Athens' # +03:00
stored in database as GMT: 2019-04-19 10:00:00.000000
start_date: schedule.start_date,
to_datetime: schedule.start_date.to_datetime,
strftime: schedule.start_date.to_datetime.strftime('%Q').to_i,
start_date: "2019-04-19T13:00:00.000+03:00",
to_datetime: "2019-04-19T13:00:00.000+03:00",
strftime: 1555668000000, # 2019-04-19T11:00:00.000+01:00
он корректно отображается в виде
<%= schedule.start_date %>
# 13:00:00 19 Apr 2019
irb(main):004:0> Time.at(1555668000)
=> 2019-04-19 11:00:00 +0100
Прошу прощения, если на этот вопрос уже был дан ответ, но я просто не смог найти удовлетворительное решение.