2015-01-29 11 views
6

Podczas korzystania strftime @tzformat = "%F,%l:00 %p":Nie wyściółka godzinami w strftime

Chcę dokładnie jedną przestrzeń pomiędzy przecinkiem i godzinę. Ale %l nie daje miejsca na 10, 11 i 12, natomiast jeśli wstawię “ %l” otrzymam dwie spacje dla 0-9 (jedną z wypełnienia i drugą z przestrzeni dodam).

Miesiąc ma opcję braku dopełnienia. Nie widzę tego samego przez godzinę.

Czego mi brakuje?

+1

Pokaż nam swoje dane wejściowe i oczekiwane wyniki wraz z przykładem kodu. –

Odpowiedz

13

Modyfikator - usuwa wypełnienie. Jeśli użyjesz% -l zamiast% l, to w ogóle nie wstawisz miejsca i możesz ręcznie dodać spację.

Time.now.strftime @tzformat = "%F, %-l:00 %p"   #=> "2015-01-29, 8:00 PM" 
(Time.now + 3600*2).strftime @tzformat = "%F, %-l:00 %p" #=> "2015-01-29, 10:00 PM" 
+1

Dzięki Dane. Tak więc, brakowało mi tego, że nie ma przykładu w sekcji godzin http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/DateTime.html#method-i-strftime tak jak jest przez miesiąc. Powinienem przeczytać tekst wstępu, a nie tylko przykłady! –

Powiązane problemy