2015-03-15 6 views
15

जब मुझे कस्टम प्रारूप के साथ TimeSpan की स्ट्रिंग प्राप्त करना है तो मुझे कोई त्रुटि क्यों मिली।TimeSpan.ToString ("hh: mm") त्रुटि

DateTime.Now.TimeOfDay.ToString("hh:mm"); 
// Error: Input string was not in a correct format. 
+0

निकालने 'TimeOfDay'। बस 'डेटटाइम.अब। टॉस्ट्रिंग ("एचएच: एमएम");' साइड नोट के रूप में, यदि समय 12 एनएन से अधिक हो तो यह संदिग्ध हो सकता है, बेहतर है कि यह 'एचएच: एमएम टीटी' –

+0

है जो डेटटाइम का उपयोग करके एक उदाहरण था। मेरे पास टाइमस्पेन वैरिएबल है। इस कोड को जांचें: (नया टाइमस्पैन (10, 20, 0))। टूस्ट्रिंग ("एचएच: एमएम") –

+1

'डेटटाइम.अब। टाइमऑफडे। टॉस्ट्रिंग ("एचएच \\: मिमी"); ' –

उत्तर

0

TimeOfDay का उपयोग न करें। सीधे DateTime.Now पर ToString() कार्य करें:

DateTime.Now.ToString("hh:mm"); 

TimeOfDay एक TimeSpan है। दस्तावेज़ स्पष्ट रूप से TimeSpan.ToString(string format) अधिभार के बारे में बताते हैं:

प्रारूप पैरामीटर टाइमस्पैन मानों के लिए कोई वैध मानक या कस्टम प्रारूप विनिर्देशक हो सकता है। यदि प्रारूप स्ट्रिंग के बराबर है। लक्षण या शून्य है, वर्तमान टाइमस्पैन ऑब्जेक्ट का वापसी मान सामान्य प्रारूप विनिर्देशक ("सी") के साथ स्वरूपित है। यदि प्रारूप कोई अन्य मूल्य है, तो विधि FormatException फेंकता है।

आप एक TimeSpan चर का उपयोग कर यह करना चाहिए, तो आप बस इसे एक DateTime चर शून्य करने के लिए अपने समय के भाग सेट है कि करने के लिए जोड़ सकते हैं, और उसके बाद का उपयोग अपने ToString():

DateTime.Today.Add(YourTimeSpanVariable).ToString("hh:mm"); 
+0

जो कि एक उदाहरण था दिनांक समय। मेरे पास 'टाइमस्पेन' चर है। इस कोड को जांचें: '(नया टाइमस्पैन (10, 20, 0))। ToString ("hh: mm") ' –

+0

@ मोहम्मदशिरलिजादेह: मेरा संपादन देखें। – dotNET

2

MSDN TimeOfDay के अनुसार एक टाइमस्पैन है। और TimeSpan.ToString के उदाहरणों में आप देखते हैं कि : से बचने की जरूरत है।

hh \: मिमी \: ss: 03:00:00

यह भी पेज Custom TimeSpan Format Strings

कस्टम TimeSpan प्रारूप विनिर्देशक प्लेसहोल्डर विभाजक प्रतीकों शामिल नहीं है पर समझाया गया है , जैसे प्रतीकों जो घंटों से अलग दिन, मिनटों से घंटे, या अंशकालिक सेकंड से सेकंड। इसके बजाय, इन प्रतीकों को स्ट्रिंग अक्षर के रूप में कस्टम प्रारूप स्ट्रिंग में शामिल किया जाना चाहिए। उदाहरण के लिए, "dd \ .hh \: mm" अवधि (।) को दिन और घंटों के बीच विभाजक के रूप में परिभाषित करता है, और एक कोलन (:) घंटे और मिनट के बीच विभाजक के रूप में।

तो कोशिश:

DateTime.Now.TimeOfDay.ToString("hh\:mm"); 
संबंधित मुद्दे