12

我有以下内容:

@comment.created_at.strftime("%I:%M %p %b %d")

输出:12 月 19 日上午 10:32

我想输出一个小写的 am,例如:12 月 19 日上午 10:32

关于如何用 ruby​​/rails 做到这一点的任何想法?

谢谢

4

5 回答 5

10

尝试使用 %P 而不是使用 %p

于 2013-04-22T08:26:34.930 回答
2

您可以将它们保存到不同的变量中并执行以下操作:


a = @comment.created_at.strftime("%I:%M")
b = @comment.created_at.strftime("%P").downcase
c = @comment.created_at.strftime("%b %d")

e = a+b+" "+c #=> 10:32am Dec 19

于 2010-12-19T19:00:00.160 回答
2

使用 %P 而不是 %p。这适用于 ruby​​ 1.9,但对于 1.8,您需要使用.sub(' AM ', ' am ').sub(' PM ', ' pm ')或类似的。

于 2010-12-19T18:52:27.207 回答
1

似乎在 ruby​​ 1.9 中您可以使用 %P 而不是 %p 并且不要忘记删除空格

@comment.created_at.strftime("%I:%M%P %b %d") =>12 月 19 日上午 10:32

于 2013-02-11T09:39:48.827 回答
1

这篇文章应该给你你所需要的。您基本上在初始化程序中定义了自定义时间格式。

如果您想从API获得它,它们会显示 Time 类中的默认值

于 2010-12-19T18:41:39.060 回答