2010-02-08 12 views
6

अरे। मेरे पास, किसी भी तरह, यह स्ट्रिंग उपलब्ध है "20100205 162206"। यह किसी भी डेलीमीटर चार के बिना एक तिथि और समय है।मैं एक स्ट्रिंग को कैसे पार्स कर सकता हूं जिसमें सी # का उपयोग कर डेटटाइम में डिलीमीटर की कमी है?

मुझे इसे सी # में डेटटाइम के रूप में वापस करने की आवश्यकता है। सबसे अच्छा तरीका क्या है?

उत्तर

31

उपयोग DateTime.ParseExact के भार के में से एक है और निर्दिष्ट एक custom DateTime format string:

DateTime.ParseExact(
     "20100205 162206", 
     "yyyyMMdd HHmmss", 
     CultureInfo.InvariantCulture); 

क्या करता है आपके इनपुट के लिए एक सटीक प्रारूप स्ट्रिंग निर्दिष्ट है। (उदाहरण के लिए "वर्ष-महीने-घंटे घंटे-मिनट-द्वितीय" डैश के बिना।)

यदि आपका इनपुट हमेशा एक ही तरीके से आ जाएगा, तो आप ParseExact फ़ंक्शन का उपयोग करने के लिए सबसे सुरक्षित हैं, क्योंकि, यदि आप खराब डेटा प्राप्त करते हैं , यह आपको असंगत डेटा पर काम करने के बजाय "जल्दी विफल" करने की अनुमति देता है।

+1

+1 यदि आप समझाते हैं * क्यों * यह समाधान है। – dtb

+0

ओकी डोकी, 1 सेकंड। –

+0

बिल्कुल सही। बोनस-पॉइंट्स यदि आप लिंक जोड़ते हैं जो @ जेफ शाश्वत हटा दिए गए हैं :-) – dtb

संबंधित मुद्दे

 संबंधित मुद्दे