2012-02-05 13 views
5

मुझे पता है कि इस प्रश्न से कई अलग-अलग तरीकों से पूछा गया है, और मैंने उन सभी को देखा है और कोई भी समाधान काम नहीं कर रहा है मुझे। तो, मुझे उम्मीद है कि शायद आप मुझे एक त्वरित हाथ दे सकते हैं।कन्वर्टिंग स्ट्रिंग प्रारूप "yyyy-MM-ddTHH: mm: ss.fffZ" डेटटाइम

इनपुट स्ट्रिंग है: "2000-01-01T12: 00: 000Z"। मुझे उस इनपुट स्ट्रिंग को लेने और इसे डेटटाइम में बदलने की आवश्यकता है ताकि इसे डेटाबेस में संग्रहीत किया जा सके।

मैं ParseExact का उपयोग कर रहा हूं, लेकिन मुझे मान्यता प्राप्त दिनांक स्ट्रिंग अपवाद नहीं मिल रहा है। मुझसे कहां गलती हो रही है?

inValue.LatestDepartTime = "2000-01-01T12:00:000Z"; 
DateTime _latestDepartTime = DateTime.ParseExact(inValue.LatestDepartTime, "yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture); 

उत्तर

5

आपकी प्रारूप स्ट्रिंग को सटीक लाइव से मिलान करने की आवश्यकता है।

जिसमें शाब्दिक T और Z वर्ण शामिल हैं।

+0

तो, मैं टी पार्स आउट कर में सक्षम होना चाहिए और जेड मूल स्ट्रिंग से जो मुझे देना चाहिए: 2020-01-01 12: 00: 000। फिर दो तार ठीक से मिलेंगे। लेकिन, मैंने यह कोशिश की है और अभी भी वही त्रुटि मिलती है। ध्यान देने योग्य एक बात, और शायद यह मदद करेगा, डिबगिंग में मैंने देखा कि _latestDepartTime प्रत्येक बार मैंने कोशिश की 1/1/0001 12: 12: 000 AM पर सेट किया है। – CalvinBlount

+0

नहीं; आपको प्रारूप स्ट्रिंग में 'टी' और' जेड 'शामिल करने की आवश्यकता है। आपको उन्हें सिंगल कोट्स में लपेटने की आवश्यकता हो सकती है; मुझे याद नहीं है। – SLaks

+0

आप बस 'डेटटाइम' के डिफ़ॉल्ट (खाली) मान देख रहे हैं। – SLaks

3

आप पैटर्न में T निर्दिष्ट नहीं करते हैं।

यह कहा गया है कि, आप XmlConvert कक्षा पर एक नज़र डालना चाहते हैं, जो इस प्रारूप को बदलने के तरीकों को प्रदान करता है।

4

आपको और \\Z को अपने प्रारूप स्ट्रिंग में अक्षर T और Z से मिलान करने की आवश्यकता है।

1

आप टी के आसपास एकल उद्धरण और जेड रखना होगा:

DateTime parsedDateTime; 
DateTime.TryParseExact(obj, "yyyy-MM-dd'T'HH:mm:ss'Z'", null, System.Globalization.DateTimeStyles.None, out parsedDateTime); 
return parsedDateTime; 
2

उपयोग yyyy-MM-dd'T'HH:mm:ss.fff'Z'

कोड है:

public DateTime convertIsoToDateTime (string iso) 
{ 
    return DateTime.ParseExact(iso, "yyyy-MM-dd'T'HH:mm:ss.fff'Z'", CultureInfo.InvariantCulture); 
} 
संबंधित मुद्दे