0

我正在尝试将日期转换为字符串,然后获取该月的前 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

关于我哪里出错的任何指示?

谢谢

4

3 回答 3

2
def date_mon(date)
  date.strftime("%b")
end
于 2013-07-23T12:26:18.377 回答
1

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

arr[0][3..5]
于 2013-07-23T12:28:33.443 回答
1

或者你可以直接做

<%= p.created_at.strftime("%b") %>
于 2013-07-23T12:30:58.040 回答