2016-07-05 6 views
6

मैं अग्रणी शून्य के बिना दिनांक/समय कैसे मुद्रित कर सकता हूं? उदाहरण के लिए, Jul 5, 9:15मैं समय से समय/समय कैसे प्रिंट कर सकता हूं :: बिना किसी शून्य शून्य के?

docs के अनुसार यह strftime रूप में एक ही सिंटैक्स का उपयोग करता है, तथापि अग्रणी शून्य

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

एक त्रुटि की ओर जाता है दबाने:

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

मुझे लगता है जंग glibc एक्सटेंशन का समर्थन नहीं करता है कि इस ध्वज (और कई अन्य) प्रदान करें; हालांकि गैर-प्रीफ़िक्स्ड दिनांक/समय के लिए कोई वाक्यविन्यास नहीं है; वैकल्पिक (%l) रिक्त स्थान के साथ बस उपसर्ग जो समान रूप से बेकार है।

मैं हाथ से स्ट्रिंग बना सकता हूं, लेकिन यह फ़ंक्शन के उद्देश्य को हरा देता है।

+0

मुझे लगता है कि [chrono टोकरा] (https://lifthrasiir.github.io/rust-chrono/chrono/format/strftime/index.html) कि विनिर्देशक के लिए समर्थन हासिल है। – squiguy

उत्तर

8

देख रहे हैं the code हम पुष्टि कर सकते हैं कि time क्रेट ध्वज - ध्वज का समर्थन नहीं करता है। यह भी ध्यान रखें कि time क्रेट rust-lang-deprecated उपयोगकर्ता पर है, इसलिए इसे हटाया जा रहा है।


यह कहा गया कि, मैं आपको chrono क्रेट का उपयोग करने की सलाह देता हूं। आपके इच्छित प्रारूप विनिर्देशकों का समर्थन करने के अलावा, क्रोनो क्रेट में टाइमज़ोन के लिए भी समर्थन है और बहुत कुछ।

let now = chrono::UTC::now(); 
println!("{}", now.format("%b %-d, %-I:%M").to_string()); 
संबंधित मुद्दे