在Ruby中,如何解析"9/12/2010 7:02 pm"?

nop*_*ole 1 ruby datetime date-parsing

似乎Time.parse会将2010年9月12日视为2010年12月9日:

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
Run Code Online (Sandbox Code Playgroud)

我可以使用Regex搞乱订单并相应地解析,但是有不同的方法或gem或任何更简单的方法吗?

Luk*_*fer 6

你有没有尝试过

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

更新格式应该工作

  • +1使用内置函数而不是求助于gem. (3认同)