如何拆分created_at返回的值?

use*_*234 0 ruby split ruby-on-rails

我试图拆分created_at方法返回的值.

我正在获取一个object(item)并获得它创建的时间.我不想要整个结果,我只对日,月和年感兴趣.我怎样才能让它发挥作用?

<% @items_in_basket.each do |item| %>
<% splliter = item.created_at.split(" ") %> 
<% time = @splliter[0] %>
Run Code Online (Sandbox Code Playgroud)

我得到了这个结果:

undefined method 'split' for Wed, 31 Jul 2013 16:44:37 UTC +00:00:Time
Run Code Online (Sandbox Code Playgroud)

Dig*_*ora 5

created_at返回一个实例ActiveSupport::TimeWithZone,你可以简单地调用day,monthyear上获取日期的那些部分.例:

<% @items_in_basket.each do |item| %>
  Day: <%= item.created_at.day %>
  Month: <%= item.created_at.month %>
  Year: <%= item.created_at.year %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

这种方法比解析返回的字符串格式更可靠to_s.