Strftime форматирование с Ruby/Rails - нижний регистр am/pm

У меня есть следующее:

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

Какие выходы: 10:32 утра 19 декабря

Я хотел бы выводить строчные буквы am, например: 10:32, Dec 19

Любые идеи о том, как это сделать с ruby ​​/rails?

спасибо

Ответ 1

Попробуйте использовать% P вместо использования% p

Ответ 2

Используйте% P вместо% p. Это будет работать с ruby ​​1.9, но для 1.8 вам нужно будет использовать .sub(' AM ', ' am ').sub(' PM ', ' pm ') или аналогичный.

Ответ 3

Этот пост или этот должен предоставить вам то, что вам нужно. В основном вы определяете пользовательский формат времени внутри инициализаторов.

Если вы хотите получить его из API, они показывают, какие значения по умолчанию находятся в классе времени

Ответ 4

Вы можете сохранить их в разных варах и сделать что-то вроде:


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

Ответ 5

кажется, что в ruby ​​1.9 вы можете использовать% P вместо% p и не забудьте удалить пробел

@comment.created_at.strftime( "% I:% M% P% b% d" ) = > 10:32 утра 19 декабря