我这里有一个简单的问题。我有一个带有created_at的实例变量。如何将其转换为Month, day, year ~ September, 13, 1987
当我尝试= @ example.created_at时,在我看来,它给了我1987-09-13
奇怪的是,当我在控制台中执行此方法时,我得到Sun, 13 Sep 1987
答案 0 :(得分:8)
您可以通过指定
等格式来更改日期的显示方式@example.created_at.strftime("%B, %d, %Y")
# => "September, 20, 2013"
查看各种格式选项here
控制台和视图中的显示格式不同,因为默认格式不同。
答案 1 :(得分:1)
Yes..possible!
require 'date'
d = Date.parse('September, 13, 1987')
month, day, year=d.month,d.day,d.year
month # => 9
day # => 13
year # => 1987
答案 2 :(得分:1)
处理显示日期和时间的一个好方法是为您的应用程序设置国际化,更多信息请点击此处:
http://guides.rubyonrails.org/i18n.html
日期(en.yml)的一个例子:
en:
date:
formats:
default: "%Y-%m-%d"
short: "%b %d"
long: "%B %d, %Y"
您可以在视图中显示各种日期格式,如下所示:
l Date.current, format: :short
这种方法的优点是您可以轻松更改应用程序中所有日期的显示方式,因为格式在一个地方定义,并且您的应用程序将来会为更多区域设置做好准备。