Rails以单词显示格式化日期

时间:2014-04-06 15:40:56

标签: ruby-on-rails date

我有这个格式的日期2014-04-05来自@ post.date
我希望在我的视图中将其转换为“星期六4月5日”的格式 如果日期是今天,我希望它使用这种格式“今天4月6日” 目前我有

<% if @post.date === Date.today.strftime("%Y-%m-%d") %>
   <p> Today Month(short form) Day(number) </p>
<% else %>
   <p> Day(word) Month(short form) Day(number)  </p>
<% end %>

如何格式化日期?
提前谢谢。

2 个答案:

答案 0 :(得分:4)

使用此:

<% if @post.date === Date.today %>
   <%= @post.date.strftime("Today %b %d") %>
<% else %>
   <%= @post.date.strftime("%A %b %d") %>
<% end %>

请参阅strftime可用的 complete list of format directives

答案 1 :(得分:0)

更清洁的解决方案是将此作为辅助方法实现在&#34; app / helpers / application_helper.rb&#34;

定义方法:

def date_string_for(datetime) datetime.strftime("%b %e, %Y") end

然后,您可以从任何视图致电:

<%= date_string_for @post.date %>

这提供了DRY解决方案。