RUBY中的日期格式

时间:2011-02-28 10:03:43

标签: ruby-on-rails ruby rubygems

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

  

“2011年2月1日11.00”

。我试过这个

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

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

安装gem activesupport,并使用方法ordinalize

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