从转换为字符串的日期开始抓住月份

时间:2013-07-23 12:22:04

标签: ruby ruby-on-rails-3 string methods

我正在尝试将日期转换为字符串,然后抓住当月的前3个字符,以便我可以在我的视图中使用它。所以我的日期看起来像这样的例子

23-07-2013

我有一个方法(可能完全错误)但我无法获得任何输出,但在irb中这是有效的。这就是我所拥有的

def date_mon(date)
 str = date.strftime("%e %B %Y") if date
 arr = str.split('-')
 arr[3-5]
end

然后在我看来

<%= date_mon(p.created_at) %>

我想在这种情况下展示的是

Jul

关于我哪里出错的指示?

由于

3 个答案:

答案 0 :(得分:2)

def date_mon(date)
  date.strftime("%b")
end

答案 1 :(得分:1)

执行split时,创建的数组有2个位置。因此,您必须仅在阵列的第一个位置搜索3到5个字符:

arr[0][3..5]

答案 2 :(得分:1)

或者你可以直接做

<%= p.created_at.strftime("%b") %>