Ruby on rails Rails中更漂亮的日期格式?

Ruby on rails Rails中更漂亮的日期格式?,ruby-on-rails,ruby,internationalization,ruby-on-rails-4,strftime,Ruby On Rails,Ruby,Internationalization,Ruby On Rails 4,Strftime,我知道我可以用strftime手动制作日期格式,但是有没有比:short,:long,:long_序数格式更简单的方法来快速制作日期?:long_序数看起来不错,但没有AM/PM,使用军事时间: 2013年9月11日14:00而不是2013年9月11日下午2:00 理想情况下,有一种:long_ordinal_prettier格式,在美国有2:00 PM机制,在世界其他地方有相当的本地日期。创建一个类似config/initializers/date\formats.rb的文件 Date::DA

我知道我可以用
strftime
手动制作日期格式,但是有没有比
:short
:long
:long_序数
格式更简单的方法来快速制作日期?
:long_序数
看起来不错,但没有AM/PM,使用军事时间:
2013年9月11日14:00
而不是
2013年9月11日下午2:00


理想情况下,有一种
:long_ordinal_prettier
格式,在美国有
2:00 PM
机制,在世界其他地方有相当的本地日期。

创建一个类似
config/initializers/date\formats.rb的文件

Date::DATE_FORMATS.merge!(
  long_date: '%a, %B %e, %Y %l:%M %p',
  short: '%A, %B %e, %Y',
  hyphen: "%Y-%m-%d",
  long_ordinal_prettier: "....."
)
你可以这样使用它们

some_model.created_at.to_formatted_s(:long_ordinal_prettier)

为什么使用strftime
很难使用?将格式指定给常量或YAML文件,您就完成了。@theTinMan-好的,一个问题是我希望日期格式也非常国际化。此外,我还想知道如何使
DateTime
s更具可读性,这对我的Rails有所启发。我很惊讶没有一个明显的内置Rails解决方案。如果没有,这听起来像是一个帮助Rails社区的机会。Rails通过
strftime
支持数据/时间表示的国际标准(ISO)和*nix通用标准,这些标准在每种编程语言中都可以通过正常的
sprintf
格式说明符获得。我如何获得序号日期<代码>%e给出了一个月中的哪一天,但没有“th”、“st”、“nd”等后缀。Ruby不支持您在本机上查找的内容。我将使用序号创建自定义格式作为练习,使用。