Рубиновая строка к тому времени сломана? - PullRequest
1 голос
/ 20 марта 2012

Я ожидаю, что время и время будут отражающими.

ОБНОВЛЕНИЕ

Это ответ, если вы добавите параметр: local, он не будет игнорировать смещение.Я считаю странным, что он игнорирует данные (смещение) по умолчанию, хотя ...

Time.zone.now.to_s.to_time(:local) returns 2012-03-20 14:39:03 +0100

/ UPDATE

> Time.zone.now.to_s
 => "2012-03-20 12:50:05 +0100" 
> Time.zone.now.to_s.to_time.to_s
 => "2012-03-20 12:50:05 UTC" 
# PROBLEM:
# UTC is +0000, meaning that there is 1 hour diff in the above
> Time.zone.now
 => Tue, 20 Mar 2012 12:51:32 CET +01:00 
> Time.zone.now.to_time
 => Tue, 20 Mar 2012 12:51:32 CET +01:00 
> Time.zone.now.to_json
 => "\"2012-03-20T12:50:36+01:00\"" 
> Time.zone.now.to_json.to_time
 => 2012-03-20 12:50:36 UTC 

У меня есть эта проблема с сообщениями JSON.В любом случае, я бы не ожидал, что время действительно изменит время.Хорошо, чтобы перевести на UTC, возможно, но он должен соответственно настроить время.Кто-нибудь знает, если это известная проблема или «по замыслу»?

1 Ответ

1 голос
/ 20 марта 2012

Этот метод, String # to_time , определенный в ActiveSupport, принимает один параметр, форму, которая может быть либо: utc (по умолчанию), либо: local.Поэтому по умолчанию он всегда возвращает время в UTC.

Чтобы получить время с часовым поясом:

Time.zone.parse("2012-03-20T12:50:36+01:00")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...