форматирование strftime с использованием Ruby / Rails - строчные буквы am / pm - PullRequest
10 голосов
/ 19 декабря 2010

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

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

Какие выходы: 10:32 AM Dec 19

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

Есть идеи, как это сделать с помощью ruby ​​/ rails?

спасибо

Ответы [ 5 ]

8 голосов
/ 22 апреля 2013

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

2 голосов
/ 19 декабря 2010

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

2 голосов
/ 19 декабря 2010

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

<code>
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

1 голос
/ 11 февраля 2013

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

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

1 голос
/ 19 декабря 2010

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

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

...