RUBY中的日期格式

在这里,在RUBY我需要一个像这样的格式

“2011年2月1日11.00”

。 我试过这个

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

但我需要格式化后缀为st,nd,rd,th等的数字。请提出建议。

如果你特别想要“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)

安装gem activesupport ,并使用方法ordinalize

如何在ruby中格式化日期以包含“rd”,如“3rd”