【问题标题】:Date Format In RUBYRUBY 中的日期格式
【发布时间】:2011-07-05 15:52:32
【问题描述】:

在这里,在 RUBY 中,我需要这样的格式

“2011 年 2 月 1 日 11 点”

。这个我试过了

"Time.now.utc.strftime("%B %d %Y %R")"

但我需要用后缀 st、nd、rd、th 等格式化数字。请提出一些建议。

【问题讨论】:

    标签: ruby-on-rails ruby rubygems


    【解决方案1】:

    如果您特别想要“2011 年 2 月 1 日 11.00”,则需要添加自己的 DATE_FORMATS 并调用它。

    Time::DATE_FORMATS[:custom_ordinal] = lambda { |time| time.strftime("%B #{ActiveSupport::Inflector.ordinalize(time.day)} %Y %H.%M") }
    
    puts Time.now.to_s(:custom_ordinal)
    # February 28th 2011 02.12
    

    如果您只需要一个序号日期并且“2011 年 2 月 28 日 02:12”有效,则调用 Time.now.to_s(:long_ordinal)

    【讨论】:

      【解决方案2】:

      安装gemactivesupport,使用方法ordinalize

      How do I format a date in ruby to include "rd" as in "3rd"

      【讨论】:

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