如果用户以MM / DD / YYYY格式输入搜索值,则以下情况有效:
date = Date.strptime(search_value, "%m/%d/%Y")
如果用户输入如下内容,我该如何容纳:
MM-DD-YYYY - 注意破折号而不是斜线 M-d-YYYY M / d / YYYY
目前,如果输入其中一个,我将收到无效日期。我试图涵盖所有不同的格式。
答案 0 :(得分:2)
date = Date.new(*search_value.scan(/\d+/).map(&:to_i).rotate(-1))
答案 1 :(得分:0)
如果您想覆盖所有基地,而不是重新发明轮子,请查看https://github.com/mojombo/chronic
答案 2 :(得分:0)
你可以使用gsub或gsub!将短划线替换为斜线的方法: 例如:
“2014年4月1日” .gsub( “ - ”, “/”)
这给你的结果如下:
2014年4月1日
如果您需要帮助,我不知道您遇到的其他格式 显示其他格式。