.net


8

में किसी स्ट्रिंग को एक स्ट्रिंग में कनवर्ट करें। मैं सी # में एक फ्लैट फ़ाइल से टेक्स्ट पढ़ रहा हूं और यह जांचने की आवश्यकता है कि कुछ मान दिनांक हैं या नहीं। वे या तो YYYYMMDD प्रारूप या एमएम/डीडी/वाई वाई प्रारूप में हो सकते हैं। नेट में ऐसा करने का सबसे आसान तरीका क्या है?

26
string[] formats = {"yyyyMMdd", "MM/dd/yy"}; 
var Result = DateTime.ParseExact(input, formats, CultureInfo.CurrentCulture, DateTimeStyles.None); 

या

DateTime result; 
string[] formats = {"yyyyMMdd", "MM/dd/yy"}; 
DateTime.TryParseExact(input, formats, CultureInfo.CurrentCulture, DateTimeStyles.None, out result); 

अधिक ParseExact और TryParseExact पर MSDN दस्तावेज में जानकारी।

  0

यह मेरी तुलना में बेहतर है। पता नहीं था कि आप प्रारूपों के लिए एक स्ट्रिंग सरणी कर सकते हैं। बहुत अच्छा! 23 sep. 082008-09-23 19:42:00

  0

यहां तक ​​कि बेहतर! मुझे जिस चीज की जरूरत थी। 23 sep. 082008-09-23 19:57:04

  0

सुनिश्चित करें कि आप डेटटाइम का वापसी मूल्य जांचें। TrojanParseExact (...) क्योंकि यह एकमात्र तरीका होगा जो आप बता सकते हैं कि यह सफल हुआ या नहीं। 24 sep. 082008-09-24 00:11:22


3

DateTime.TryParse विधि

  0

चूंकि मैं आपका उत्तर संपादित नहीं कर सकता, मैंने सोचा कि यह उस विधि के लिए एमएसडीएन आलेख को एक लिंक प्रदान करने में मदद कर सकता है। http://msdn.microsoft.com/en-us/library/ch92fbc1.aspx 23 sep. 082008-09-23 19:39:50

  0

[@Yadyn]: मुझे लगा कि इंटेलिजेंस पर्याप्त होगा, लेकिन ठीक है, मैंने लिंक को पूरी तरह से जोड़ा - धन्यवाद! 25 sep. 082008-09-25 18:38:24


0

तुम भी Convert.ToDateTime

नहीं यकीन है कि या तो


0

का उपयोग अगर यह विफल TryParse एक अपवाद फेंक नहीं होगा के फायदे कर सकते हैं। साथ ही, TryParse ट्रू/फाल्स वापस कर देगा, जो रूपांतरण की सफलता का संकेत देता है।

सादर ...


3

आप सेट सटीक प्रारूप के लिए भी TryParseExact की कोशिश कर सकते। विधि, यहां प्रलेखन है: http://msdn.microsoft.com/en-us/library/ms131044.aspx

उदा।

DateTime outDt; 
bool blnYYYMMDD = 
    DateTime.TryParseExact(yourString,"yyyyMMdd" 
          ,CultureInfo.CurrentCulture,DateTimeStyles.None 
          , out outDt); 

मुझे आशा है कि मैं आपकी मदद करूंगा।

  0

दोस्त! यह इतना उपयोगी है, मैं इस पर लगभग एक घंटे खो गया, भले ही मुझे पता है कि मैंने इसे कहीं पहले किया है। 31 mar. 092009-03-31 08:46:31


0

आप एक ही समय में वैधता और पार्स की जांच करने के लिए TryParse विधि का उपयोग कर सकते हैं।

DateTime output; 
string input = "09/23/2008"; 
if (DateTime.TryParseExact(input,"MM/dd/yy", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out output) || DateTime.TryParseExact(input,"yyyyMMdd", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out output)) 
{ 
    //handle valid date 
} 
else 
{ 
    //handle invalid date 
}