2014-04-01 188 views
1

如果用戶在此格式MM/DD/YYYY以下工作搜索值:紅寶石日期格式

date = Date.strptime(search_value, "%m/%d/%Y")

我怎麼能當用戶輸入它這樣的適應:

MM-DD-YYYY - 注意破折號而不是斜槓 MD-YYYY M/D/YYYY

目前,如果輸入了其中一個,我會得到一個無效日期。我試圖涵蓋所有不同的格式。

回答

2
date = Date.new(*search_value.scan(/\d+/).map(&:to_i).rotate(-1)) 
0

您可以使用GSUB或GSUB!方法來代替破折號大幅削減: 例如:

「2014年4月1日」 .gsub( 「 - 」, 「/」)

這給你的結果如下:

04/01/2014

我不知道你遇到的格式的其餘部分,如果你需要幫助,請 也顯示其他格式。