2012-08-29 36 views
0

我需要將出生日期作爲Ruby on Rails應用程序中的純文本。所以這裏是我用來做它的代碼的主要部分Ruby中的分析日期

if @date_of_birth_as_text.present? and Date.parse(@date_of_birth_as_text).nil? 
     errors.add :date_of_birth_as_text, "cannot be parsed" 
    end 

因此,它使一切都約會。看看它,這很奇怪

1.9.3p194 :002 > Date.parse("12 12 addd") 
=> Sun, 12 Aug 2012 
1.9.3p194 :003 > Date.parse("12 12 october") 
=> Fri, 12 Oct 2012 
1.9.3p194 :004 > Date.parse("12 13 october") 
=> Sat, 13 Oct 2012 
1.9.3p194 :005 > Date.parse("13 13 october") 
=> Sat, 13 Oct 2012 
1.9.3p194 :006 > Date.parse("13 13 2012") 
=> Mon, 13 Aug 2012 
1.9.3p194 :007 > Date.parse("13 01 2012") 
=> Mon, 13 Aug 2012 
1.9.3p194 :008 > Date.parse("10 01 2012") 
=> Fri, 10 Aug 2012 
1.9.3p194 :009 > Date.parse("10 01 2010") 
=> Fri, 10 Aug 2012 

我想改變它一點點。我想要一個格式爲"MM (any delimeter or not) dd (any delimeter or not) YYYY""dd (any delimeter) MM (any delimeter) YYYY"的日期可以被解析。或者類似的東西,但不是「12 12 addd」。

我該如何達到它?

P.S我看到寶石慢性,請不要向我推薦它。

回答