2016-07-05 9 views
6

Başa dön olmadan bir tarihi/saati nasıl yazdırabilirim? Örneğin, Jul 5, 9:15.Bir tarih/saati zamandan itibaren nasıl yazabilirim: strftime baştan sona sıfırlar olmadan?

docs göre, ancak baştaki sıfırları

time::strftime("%b %-d, %-I:%M", &time::now()).unwrap() 

bir hata ile sonuçlanır bastırarak, strftime aynı sözdizimini kullanır:

thread '' panicked at 'called Result::unwrap() on an Err value: InvalidFormatSpecifier('-')', ../src/libcore/result.rs:746

Ben Pas glibc uzantılarını desteklemiyor şüpheli bu bayrağı (ve diğerlerini) sağlayın; Ancak, önceden olmayan tarih/saat için sözdizimi yoktur; alternatif (%l), eşit olarak işe yaramaz olan boş alana sahip sadece öneklerdir.

Dizeyi elle oluşturabilirim, ancak bu işlevin amacını bozar.

+0

ben [kronograf sandık] (https://lifthrasiir.github.io/rust-chrono/chrono/format/strftime/index.html) o belirtici desteği vardır düşünüyorum. – squiguy

cevap

8

the code görüntülendiğinde time sandığının bayrağı - desteklemediğini onaylayabiliriz. Ayrıca time sandığının rust-lang-deprecated kullanıcısı olduğunu unutmayın, bu nedenle kullanımdan kaldırılıyor. sözü


, sana chrono sandık kullanmanızı tavsiye ederiz. İstediğiniz format belirleyicilerini desteklemenin yanı sıra, krono sandık da saat dilimleri ve daha fazlası için destek sağlıyor.

let now = chrono::UTC::now(); 
println!("{}", now.format("%b %-d, %-I:%M").to_string()); 
İlgili konular