Ruby on rails 将日期时间转换为月、日和年?
我似乎找不到这个,我觉得应该很容易。在Ruby on Rails中,我应该如何处理:Ruby on rails 将日期时间转换为月、日和年?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我似乎找不到这个,我觉得应该很容易。在Ruby on Rails中,我应该如何处理: 2010-06-14 19:01:00 UTC 把它变成 June 14th, 2010 我可以不在视图中使用辅助对象吗?我不知道为什么 June 14th, 2010 但是如果你想 June 14, 2010 参考或 照办 @date = Time.now @date.strftime("%B %d, %Y") 和后缀使用如下 @date.strftime("%B #{@date.day.ordin
2010-06-14 19:01:00 UTC
把它变成
June 14th, 2010
我可以不在视图中使用辅助对象吗?我不知道为什么
June 14th, 2010
但是如果你想
June 14, 2010
参考或
照办
@date = Time.now
@date.strftime("%B %d, %Y")
和后缀使用如下
@date.strftime("%B #{@date.day.ordinalize}, %Y") # >>> Gives `June 18th, 2010`
供将来参考:就在前几天,有一个类似的问题。在我的回答中,我展示了如何将自定义
添加到config/environment.rb
文件中的定义中
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(
:my_own_long_date_format => "%B %d, %Y")
现在您可以从任何视图调用Time.Now.to_s(:我自己的\u long\u date\u格式)
以获取:
June 15, 2010
需要时间的时间模块。parse
和对整数的ActiveSupport#ordinalize
:
require 'time'
require 'active_support'
input = '2010-06-14 19:01:00 UTC'
t = Time.parse(input)
date = "%s %s, %d" % [t.strftime("%B"), t.day.ordinalize, t.year]
# => "June 14th, 2010"
您不需要将其保存在变量中
Time.now.strftime("%Y-%m-%d") # 2013-01-08
rails中的时间和日期格式:
日期
====
日期时间
====
时间
====
例如:
<%= news.created_at.strftime("%B %d, %Y %H:%M") %>
感谢在Rails 5中运行的更新:
<%= l @user.created_at, format: :short %>
国际化:
<%= I18n.l( @user.created_at, format: :short) %>
您可以使用:long而不是:short或者如果您想要任何其他日期,请先将其转换为日期格式。这太棒了。刚刚向我展示了strftime函数和每个无尽的选项。
<%= news.created_at.strftime("%B %d, %Y %H:%M") %>
<%= l @user.created_at, format: :short %>
<%= I18n.l( @user.created_at, format: :short) %>