目前,我在 Rails 中显示我的 DateTime
:
my_time.to_formatted_s(:long_ordinal)
这会产生如下日期:
March 17th, 2014 14:44
完美,除了14:44
时间。我希望它显示 2:44pm(“pm”的格式对我来说并不重要)。这需要让普通人更容易阅读。我知道我可以使用:
my_time.strftime('%l:%M %p')
但是,我真的很想使用预定义的符号来实现更易于人类阅读的格式,因为我希望这种格式在任何语言中都更易于人类阅读。如果有人使用不同的语言进行浏览,而 DateTime
自然看起来有点不同,我希望 Rails 可以,或者至少设置为,自动很好地显示 DateTime
。也许我对 Rails 的期望太高了?尽管没有一个简单的标志或设置来实现更人类可读的 DateTime
格式,但对我来说似乎很奇怪。
最佳答案
在这种情况下,您可以添加自己的人性化格式
# config/initializers/time_formats.rb
Time::DATE_FORMATS[:custom_long_ordinal] = "%B %e, %Y %l:%M %p"
并使用它
my_time.to_formatted_s(:custom_long_ordinal)
关于ruby-on-rails - 如何在 Rails 中不使用自定义格式的情况下显示带有 am/pm 的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22907268/