web-dev-qa-db-ja.com

railsで日付を解析する

日付があり(実際にはPDFから解析されます)、次の形式のいずれかです。

MM/DD/YYYY
MM/DD/YY
M/D/YY
October 15, 2007
Oct 15, 2007 

RailsまたはRubyで日付を解析するには?または正規表現を使用して解析する必要がありますか?

ところで私は=​​Ruby on Rails= 3.2。

27
Sachin Prasad

Date.parse(date_string) を試すことができます。

Date#strptime 特定の形式が必要な場合:

> Date.strptime("10/15/2013", "%m/%d/%Y")
=> Tue, 15 Oct 2013

一般的なソリューションの場合:

format_str = "%m/%d/" + (date_str =~ /\d{4}/ ? "%Y" : "%y")
date = Date.parse(date_str) rescue Date.strptime(date_str, format_str)
63
Chris Heald

慢性的な宝石は、時間の解析に非常に使いやすく、あなたにとってうまくいくはずです。あなたが与えた例を試してみました。

https://github.com/mojombo/chronic

6
beanie