如果用戶在此格式MM/DD/YYYY以下工作搜索值:紅寶石日期格式
date = Date.strptime(search_value, "%m/%d/%Y")
我怎麼能當用戶輸入它這樣的適應:
MM-DD-YYYY - 注意破折號而不是斜槓 MD-YYYY M/D/YYYY
目前,如果輸入了其中一個,我會得到一個無效日期。我試圖涵蓋所有不同的格式。
如果用戶在此格式MM/DD/YYYY以下工作搜索值:紅寶石日期格式
date = Date.strptime(search_value, "%m/%d/%Y")
我怎麼能當用戶輸入它這樣的適應:
MM-DD-YYYY - 注意破折號而不是斜槓 MD-YYYY M/D/YYYY
目前,如果輸入了其中一個,我會得到一個無效日期。我試圖涵蓋所有不同的格式。
date = Date.new(*search_value.scan(/\d+/).map(&:to_i).rotate(-1))
如果要覆蓋所有的基地,而不是推倒重來,看看https://github.com/mojombo/chronic
您可以使用GSUB或GSUB!方法來代替破折號大幅削減: 例如:
「2014年4月1日」 .gsub( 「 - 」, 「/」)
這給你的結果如下:
04/01/2014
我不知道你遇到的格式的其餘部分,如果你需要幫助,請 也顯示其他格式。