在rails中解析日期

Sac*_*sad 27 ruby ruby-on-rails date-parsing ruby-on-rails-3

我有一个日期(实际上是从PDF解析),它可以是以下任何格式:

MM/DD/YYYY
MM/DD/YY
M/D/YY
October 15, 2007
Oct 15, 2007 
Run Code Online (Sandbox Code Playgroud)

是否有任何宝石或功能可用rails或ruby来解析我的日期?或者我需要使用正则表达式解析它?

顺便说一下,我在轨道上使用红宝石3.2.

Chr*_*ald 63

你可以试试Date.parse(date_string).

Date#strptime如果您需要特定格式,也可以使用:

> Date.strptime("10/15/2013", "%m/%d/%Y")
=> Tue, 15 Oct 2013
Run Code Online (Sandbox Code Playgroud)

对于一般解决方案:

format_str = "%m/%d/" + (date_str =~ /\d{4}/ ? "%Y" : "%y")
date = Date.parse(date_str) rescue Date.strptime(date_str, format_str)
Run Code Online (Sandbox Code Playgroud)


bea*_*nie 6

我发现慢性宝石非常容易用于时间分析,它应该适合你.我试过你给的例子.

https://github.com/mojombo/chronic