В моем приложении я используюRuby: Time.parse() Некорректен Возвращение Аляскинского часового пояса
> Time.parse('12:30 pm MDT').utc
=> 2015-06-08 18:30:00 UTC
> Time.parse('12:30 pm EDT').utc
=> 2015-06-08 16:30:00 UTC
> Time.parse('12:30 pm CDT').utc
=> 2015-06-08 17:30:00 UTC
> Time.parse('12:30 pm PDT').utc
=> 2015-06-08 19:30:00 UTC
> Time.parse('12:30 pm MST').utc
=> 2015-06-08 19:30:00 UTC
Что все работает просто отлично, но как только я начинаю просить Гавайи или Аляскинские часовые пояса, она возвращает ошибочный результат:
> Time.parse('12:30 pm HST').utc
=> 2015-06-08 12:30:00 UTC
> Time.parse('12:30 pm HAST').utc
=> 2015-06-08 12:30:00 UTC
> Time.parse('12:30 pm AKDT').utc
=> 2015-06-08 12:30:00 UTC
> Time.parse('12:30 pm AKST').utc
=> 2015-06-08 12:30:00 UTC
Даже это не работает:
> Time.parse('12:30 pm -800').utc
=> 2015-06-08 12:30:00 UTC
кто-нибудь есть какие-либо идеи, почему это хап pening? И, что еще важнее, есть ли у кого-нибудь какие-либо советы о том, как разбирать время, равное -800 или -900?
какая у вас Ruby версия? – shivam
Возможно, ваша система не знает, что это за часовые пояса. Какую операционную систему и версию Ruby вы используете? Здесь 'Time.parse ('12: 30 pm HST '). Utc' производит' 2015-06-08 16:30:00 UTC' на Ruby 2.1.5, OS X 10.10, хотя это не время на Гавайях. – tadman
Я тоже на 10.10 и ruby 2.1.1 и rails 4.1.1, но я действительно попытался с ruby 2.1.5, и это также произвело '2015-06-08 12:30:00 UTC'. Ваш ответ f 'Time.parse ('12: 30 pm HST '). Utc' production' 2015-06-08 16:30:00 UTC' также касается, он должен производить '21:30:00 UTC', справа ? Это рубиновая ошибка? – BananaNeil