在我的应用程序中,我想以这种格式显示日期:2012 年 8 月 21 日晚上 7:30。我已经像这样使用 strftime 完成了它:
<%= @project.planned_start_date.strftime("%d %B %Y") if @project.planned_start_date-%>
它显示如下:2012 年 8 月 2 日有人可以帮我解决如何获取上述日期和时间格式吗?
在我的应用程序中,我想以这种格式显示日期:2012 年 8 月 21 日晚上 7:30。我已经像这样使用 strftime 完成了它:
<%= @project.planned_start_date.strftime("%d %B %Y") if @project.planned_start_date-%>
它显示如下:2012 年 8 月 2 日有人可以帮我解决如何获取上述日期和时间格式吗?
检查strftime 方法,它包含所有可能的转换字符及其代表的内容。
您是否尝试过使用以下 strftime 选项格式化您的时间值?:
<%= @project.planned_start_date.strftime("%d %b, %Y %I:%M %p") unless @project.planned_start_date.blank? %>
编辑:这就是你所需要的
<%= ActiveSupport::Inflector.ordinalize(@project.planned_start_date.strftime("%d").to_i) + @project.planned_start_date.strftime(" %b, %Y %I:%M %p") unless @project.planned_start_date.blank? %>
输出: “2012 年 8 月 23 日上午 9:19”
你可以试试这个。
<%= @project.planned_start_date.strftime("%d %b, %Y %I:%M %p") if @project.planned_start_date.present? -%>
输出:2012-08-21 07:30 PM
>> t = Time.now
=> Tue Aug 21 08:59:54 -0400 2012
>> t.strftime("#{t.day.ordinalize} %B, %Y %I:%M %p")
=> 21st August, 2012 08:59 AM