使用Ruby / Rails进行strftime格式化 - 小写上午/下午

时间:2010-12-19 18:36:36

标签: ruby-on-rails ruby-on-rails-3 strftime

我有以下内容:

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

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

我想输出一个小写字母,如:12月19日上午10:32

有关如何使用ruby / rails进行此操作的任何想法?

感谢

5 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:2)

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

答案 2 :(得分: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

答案 3 :(得分:1)

This postthis应该可以满足您的需求。你基本上在初始化器中定义了一个自定义时间格式。

如果你想从API获得它,它们会显示时间类中的默认值

答案 4 :(得分:1)

似乎在ruby 1.9中你可以使用%P代替%p并且不要忘记删除空格

  

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