Как создать новый объект DateTime в определенном часовом поясе (предпочтительно часовой пояс по умолчанию для моего приложения, а не в формате UTC)?

Я установил часовой пояс в/config/application.rbи я ожидаю, что время, сгенерированное в моем приложении, будет по умолчанию находиться в этом часовом поясе, но при создании новогоDateTime объект (используя.new), это создает его вGMT, Как я могу получить его в часовом поясе моего приложения?

/config/application.rb

config.time_zone = 'Pacific Time (US & Canada)'

irb

irb> DateTime.now
=> Wed, 11 Jul 2012 19:04:56 -0700 

irb> mydate = DateTime.new(2012, 07, 11, 20, 10, 0)
=> Wed, 11 Jul 2012 20:10:00 +0000                    # GMT, but I want PDT

С помощьюin_time_zone не работает, потому что это просто преобразует время по Гринвичу во время ФДТ, что является неправильным временем:

irb> mydate.in_time_zone('Pacific Time (US & Canada)')
=> Wed, 11 Jul 2012 13:10:00 PDT -07:00               # wrong time (I want 20:10)

Ответы на вопрос(4)

Ваш ответ на вопрос