UPDATE: Хорошо, я не сформулировал хороший Q, на который нужно ответить. Я все еще борюсь с героикой, находящейся на -07: 00 UTC, и я на +02: 00 UTC.
В: Как получить журнал, написанный в правильной Time.zone?
Разница в 9 часов, heroku (us west) - norway, отвлекает от работы. Я получаю это в своем production.log(используя heroku logs
):
Обработка ProductionController # create to xml (для 81.26.51.35 при 2010-04-28 23:00:12) [POST]
Как мне его написать 2010-04-29 08:00:12 +02:00 GMT
?
Обратите внимание, что я работаю в heroku и не могу установить время сервера самостоятельно, как это можно сделать на серверах Amazon EC2. Ниже мой предыдущий вопрос, я оставлю это, поскольку он содержит некоторую интересную информацию о времени и зонах.
Почему Time.now
дает локальное время сервера, когда я установил другой часовой пояс в моем environment.rb
config.time_zone = 'Copenhagen'
Я разместил это в представлении
<p> Time.zone <%= Time.zone %> </p>
<p> Time.now <%= Time.now %> </p>
<p> Time.now.utc <%= Time.now.utc %> </p>
<p> Time.zone.now <%= Time.zone.now %> </p>
<p> Time.zone.today <%= Time.zone.today %> </p>
рендеринг этого результата в моем приложении в герою
Time.zone(GMT + 01: 00) Копенгаген
Time.now Пн Апр 26 08:28:21 -0700 2010
Time.now.utc Пн Апр 26 15:28:21 UTC 2010
Time.zone.now 2010-04-26 17:28:21 +0200
Time.zone.today 2010-04-26
Time.zone.now
дает правильный результат. Должен ли я переключаться с Time.now
на Time.zone.now
, везде? Кажется громоздким. Мне действительно все равно, что такое местное время на сервере, это дает мне массу проблем из-за широкого использования Time.now
. Разве я не понимаю ничего принципиального здесь?