2015-01-29 7 views
6

saatlerce hiçbir dolgu strftime @tzformat = "%F,%l:00 %p" kullanarak:strftime'a

Ben virgül ve saat arasında tam olarak bir boşluk istiyorum. Ancak %l, 10, 11 ve 12 için yer açmazken, “ %l”'u koyarsam 0-9 için iki boşluk (bir tanesi dolgudan diğeri eklediğim alandan) alırım.

Ay hiçbir dolgu seçeneği yoktur. Saat boyunca aynı şeyi görmüyorum.

Neyi eksik?

+1

Bize giriş verilerinizi ve beklenen çıktınızı kodunuzun bir örneği ile birlikte gösterin. –

cevap

13

- Değiştirici dolguyu kaldırır. % L yerine% ll kullanırsanız hiç boşluk koymazsınız ve bir boşluk ekleyerek el ile ekleyebilirsiniz.

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

Teşekkürler Dane. Yani, eksik olan şey, http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/DateTime.html#method-i-strftime saatleri bölümünde örnek olmamasıydı. ay için olduğu gibi. Intro metnini okumalıydım, sadece örnekleri değil! –