2013-11-19 6 views
2

Я использую Rails 4 и Ruby 2.Добавление часового пояса datetime в Rails?

Как добавить часовой пояс к DateTime? Я хочу добавить часовой пояс PST к новой DateTime.

Я пробовал:

d = DateTime.strptime('12/21/2012', '%m/%d/%Y') 
=> 2012-12-21T00:00:00+00:00 
d.in_time_zone("Pacific Time (US & Canada)") 
=> Thu, 20 Dec 2012 16:00:00 PST -08:00 

Как получить Fri, 21 Dec 2012 00:00:00 PST -08:00?

+0

просто сделал сообщение в блоге на рельсах и часовых поясах - http://jessehouse.com/blog/2013/11/15/working-with-timezones-and-ruby-on-rails/ – house9

ответ

2

Try:

d = DateTime.strptime('12/21/2012', '%m/%d/%Y').to_time - Time.now.utc_offset 

Если вы используете Rails, не забудьте использовать Time.zone или DateTime.zone, если он существует. Из того, что я прочитал, когда вы используете вариацию XX.zone, вы получаете конфиг из приложения Rails, а если вы используете его без зоны, вы получаете конфигурацию Ruby, которая, я думаю, является системной конфигурацией.

Смежные вопросы