15

这应该是一件简单的事情。好吧,我相信它应该很简单,这就是rails。

问题是:在模型中,所有数据都有一个created_at 字段。为了在视图中检索此信息,我使用了一个块,其中是一行t.created_at

它向我显示了类似2015-04-12 11:04:44 UTC的结果

我应该使用哪种方法将此日期显示为2015-04-12?我想它应该是这样的: t.created_at.date_only

你可以帮帮我吗?

4

4 回答 4

35

你可以在这里阅读更多strftime

t.created_at.strftime("%Y-%m-%d")
于 2015-04-12T12:39:39.993 回答
16

它可以通过更简单的方式完成:

t.created_at.to_date
于 2016-08-13T13:50:57.083 回答
1

或使用语言环境:

// view:
<% @articles.each do |c| %>
    <%= l c.created_at.to_date, format: :short %>
<% end %>
于 2019-05-25T16:03:05.973 回答
1

有时我们会采用以下技术,但我不推荐它

class ApplicationRecord < ActiveRecord::Base
  self.abstract_class = true

  def created_at
    attributes['created_at'].strftime("%Y-%m-%d %H:%M")
  end
end
于 2020-09-03T05:06:40.677 回答