我在运行Rails 3.1的基本应用程序中调用创建记录的日期。
<%= @issue.created_at %>
以上输出以下时间戳:
2011-09-10 14:44:24 UTC
改变显示方式的最简单方法是什么?我想要这样的东西:
10 Sept. 2011
然后以某种不同的格式再次调用它:
14:44
所以我可以调用它两次并将两者合并在一起:
10 Sept. 2011
14:44
我想要两次调用它而不是创建一个帮助器来格式化两行日期/时间的原因是允许我在某些地方调用日期而在其他地方调用日期。
答案 0 :(得分:76)
最简单的方法是使用strftime函数
# Day / Month / Year
@issue.created_at.strftime("%d %b. %Y")
# Hour:Min
@issue.created_at.strftime("%H:%M")
如果你发现自己做了很多事,你可以将这两个电话放在单独的帮助中。
答案 1 :(得分:13)
我会用I18n。看一些示例http://guides.rubyonrails.org/i18n.html#adding-date-time-formats。这是一种清晰灵活的格式化日期和时间的方式。
答案 2 :(得分:9)
<%= l(@issue.created_at, :format=>:your_format) %>
<\ n>在语言环境YAML(app / config / locale / country_id.yml)中你必须声明
time:
formats:
your_format: '%d %b. %Y'
your_another_format: '%I:%M'
日期格式应在i18n YAML定义文件中声明,以便于配置,并且可以找到其他日期格式here
答案 3 :(得分:7)
查看http://www.foragoodstrftime.com/,了解自定义日期/时间格式@spike
的简便方法答案 4 :(得分:1)
你可以这样做:
@issue.created_at.to_date.iso8601
答案 5 :(得分:0)
to_s也采用格式输入参数: