Bir Ruby 1.9 programında, geçerli saati Thu 1:51 PM
biçiminde biçimlendirmek istiyorum. Günün saati için hangi format kodunu kullanmalıyım (bu örnekte 1
)?Zamanın saatini sıfırın başında mı yoksa önde gelen bir boşluk olmadan nasıl yazarım?
Time.now.strftime '%a %I:%M %p' #=> "Thu 01:51 PM"
Time.now.strftime '%a %l:%M %p' #=> "Thu 1:51 PM"
%I
lider sıfır (01
) sahiptir. %l
, önde gelen bir alana ( 1
) sahiptir. Saat strftime documentation'da başka bir biçim kodu görmüyorum. .lstrip
kullanamıyorum çünkü boşluk dizenin ortasında. .gsub(/ +/, " ")
kullanabilirdim, ama daha az hacky, daha basit bir yol olup olmadığını merak ediyorum.
Her çözümün bu basit ve anlaşılır olmasını isteyin. +1 – flarn2006
Bu çözüm, yalnızca Windows'ta değil, Unix sistemlerinde çalışabilir. [Bu Python 'strftime ' - 0 önde olmadan tarih??]] (Https://stackoverflow.com/a/2073189/578288) Python ile aynı görev hakkında ve"%-'sadece çalışır" diyor Unix'te. [Neden% -d ”, ya da“% -e ”baştaki alanı ya da sıfırı kaldıramaz?] (Https://stackoverflow.com/q/28894172/578288), uyumsuzluğun Python'un temel operatör sistemi olarak adlandırılmasından kaynaklandığını söyler. platforma özgü uzantıları olan strftime. Ruby’nin strftime’inin aynı olup olmadığını bilmiyorum. –