Ruby日期格式

时间:2014-04-01 01:44:52

标签: ruby-on-rails ruby

如果用户以MM / DD / YYYY格式输入搜索值,则以下情况有效:

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

如果用户输入如下内容,我该如何容纳:

MM-DD-YYYY - 注意破折号而不是斜线 M-d-YYYY M / d / YYYY

目前,如果输入其中一个,我将收到无效日期。我试图涵盖所有不同的格式。

3 个答案:

答案 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日

如果您需要帮助,我不知道您遇到的其他格式 显示其他格式。