0

在我的应用程序中,我想以这种格式显示日期:2012 年 8 月 21 日晚上 7:30。我已经像这样使用 strftime 完成了它:

<%= @project.planned_start_date.strftime("%d %B %Y") if @project.planned_start_date-%>

它显示如下:2012 年 8 月 2 日有人可以帮我解决如何获取上述日期和时间格式吗?

4

4 回答 4

1

检查strftime 方法,它包含所有可能的转换字符及其代表的内容。

于 2012-08-21T12:12:34.767 回答
1

您是否尝试过使用以下 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”

于 2012-08-21T12:41:25.447 回答
1

你可以试试这个。

 <%= @project.planned_start_date.strftime("%d %b, %Y %I:%M %p") if @project.planned_start_date.present? -%>

输出:2012-08-21 07:30 PM

于 2012-08-21T12:52:02.703 回答
1
>> 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
于 2012-08-21T12:59:09.967 回答