31

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

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

私の日付を解析するためにレールやルビーで利用できる宝石や関数はありますか? または、正規表現を使用して解析する必要がありますか?

ところで、Ruby on Rails 3.2 を使用しています。

4

2 に答える 2

78

試すことができ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)
于 2013-07-10T05:33:45.643 に答える
7

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

https://github.com/mojombo/chronic

于 2013-07-10T06:24:06.610 に答える