【问题标题】:Ruby Date FormatsRuby 日期格式
【发布时间】:2014-04-01 01:44:51
【问题描述】:

如果用户以这种格式 MM/DD/YYYY 输入搜索值,则以下工作:

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

如果用户这样输入,我该如何适应:

MM-DD-YYYY - 注意破折号而不是斜线 M-D-YYYY 月/日/年/年

目前,如果输入其中之一,我会得到一个无效的日期。我正在尝试涵盖所有不同的格式。

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:
    date = Date.new(*search_value.scan(/\d+/).map(&:to_i).rotate(-1))
    

    【讨论】:

      【解决方案2】:

      如果您想覆盖所有基础,而不是重新发明轮子,请查看https://github.com/mojombo/chronic

      【讨论】:

        【解决方案3】:

        您可以使用 gsub 或 gsub!将破折号替换为斜线的方法: 例如:

        "04-01-2014".gsub("-","/")

        这会给你如下结果:

        2014 年 4 月 1 日

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

        【讨论】:

          猜你喜欢
          • 2012-08-09
          • 2011-07-05
          • 1970-01-01
          • 2019-01-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多