将日期时间转换为月,日和年?

bga*_*oci 31 ruby ruby-on-rails

我似乎无法找到这个,我觉得它应该很容易.在Ruby on Rails中,我该如何处理:

2010-06-14 19:01:00 UTC
Run Code Online (Sandbox Code Playgroud)

把它变成

June 14th, 2010
Run Code Online (Sandbox Code Playgroud)

我可以不只是在视图中使用帮助器吗?

Sal*_*lil 55

我不知道

June 14th, 2010
Run Code Online (Sandbox Code Playgroud)

但如果你想

June 14, 2010
Run Code Online (Sandbox Code Playgroud)

参考 如何在Rails上获取红宝石中的月份名称? 或者这个

做就是了

@date = Time.now
@date.strftime("%B %d, %Y")
Run Code Online (Sandbox Code Playgroud)

并为后缀使用以下

@date.strftime("%B #{@date.day.ordinalize}, %Y") # >>> Gives `June 18th, 2010`
Run Code Online (Sandbox Code Playgroud)


Zak*_*ria 6

rails中的时间和日期格式:

日期

====

db:‘%Y-%m-%d’   2008-08-20

long_ordinal:‘&proc’      August 20th, 2008

long:‘%B %e, %Y’  August 20, 2008

rfc822:‘%e %b %Y’   20 Aug 2008

number:‘%Y%m%d’     20080820

short:‘%e %b’      20 Aug
Run Code Online (Sandbox Code Playgroud)

约会时间

====

db:‘%Y-%m-%d’   2008-08-20 16:56:21

long_ordinal:‘&proc’      August 20th, 2008 16:56

long:‘%B %e, %Y’  August 20, 2008 16:56

rfc822:‘%e %b %Y’   Wed, 20 Aug 2008 16:56:21 -0600

number:‘%Y%m%d’     20080820165621

short:‘%e %b’      20 Aug 16:56
Run Code Online (Sandbox Code Playgroud)

时间

====

db:‘%Y-%m-%d %H:%M:%S’         2008-08-20 16:56:21

long_ordinal:‘&proc’           August 20th, 2008 16:56

long:‘%B %d, %Y %H:%M’           August 20, 2008 16:56

rfc822:‘%a, %d %b %Y %H:%M:%S %z’  Wed, 20 Aug 2008 16:56:21 -0600

short:‘%d %b %H:%M’               20 Aug 16:56

number:‘%Y%m%d%H%M%S’              20080820165621

time:‘%H:%M’                     16:56
Run Code Online (Sandbox Code Playgroud)

例如:

<%= news.created_at.strftime("%B %d, %Y %H:%M") %>
Run Code Online (Sandbox Code Playgroud)

谢谢http://onrails.org/2008/08/20/what-are-all-the-rails-date-formats.html