Ответ 1
Time.now.strftime '%a %-l:%M %p' #=> "Thu 1:51 PM"
Напишите %-l
вместо %l
. -
разделяет ведущие пробелы и нули.
Вы можете использовать -
с другими кодами формата. Документация Ruby strftime даже упоминает %-m
и %-d
, хотя не упоминается, что вы можете использовать -
с любым кодом. Таким образом, %-I
даст тот же результат, что и %-l
. Но я рекомендую %-l
, потому что использование l
вместо I
означает для меня, что вы ничего не хотите в начале - пространство, которое он пишет, выглядит более случайным.
Вы также можете увидеть исчерпывающий список кодов форматирования Ruby 1,8 strftime
, включая те, у которых -
и аналогичные синтаксисы _
и 0
. В нем говорится, что Ruby 1.8 на Mac OS X не поддерживает эти расширенные синтаксисы, но не беспокойтесь: они работают в Ruby 1.9 на моей машине OS X.