В Ruby как разобрать "12.09.2010 19:02"? - PullRequest
1 голос
/ 13 сентября 2010

Похоже, что Time.parse будет обрабатывать 9.12.2010 как 9 декабря 2010 года:

irb(main):012:0> RUBY_VERSION
=> "1.9.2"

irb(main):013:0> Time.parse('9/12/2010')
=> 2010-12-09 00:00:00 -0800

irb(main):014:0> Time.parse('9/12/2010 7:10pm')
=> 2010-12-09 19:10:00 -0800

Я могу использовать Regex, чтобы связываться с порядком и анализировать соответственно, но есть ли другой метод, гем или какой-нибудь более простой метод?

Ответы [ 2 ]

6 голосов
/ 13 сентября 2010

вы пробовали

Date.strptime('28/03/2008', '%d/%m/%Y')
DateTime.strptime('28/03/2008 12:30 AM', '%d/%m/%Y %I:%M %p')

обновленное форматирование должно работать

1 голос
/ 13 сентября 2010

Использование Хронический драгоценный камень, кажется, работает для меня

Time.parse('9/12/2010 7:10pm')    
 => Sun Sep 12 19:10:00 -0500 2010 
...