2011-11-19 12 views
29

वहाँडेटटाइम के बीच कोई अंतर। पर्स और कन्वर्ट। टोडेटटाइम?

Convert.ToDateTime 

और

DateTime.Parse 

कौन सा तेजी से या उपयोग करने के लिए किया जाता है जो अधिक सुरक्षित है के बीच कोई अंतर है?

+1

इसी प्रकार के प्रश्न:। Http://stackoverflow.com/questions/ 3486810/क्या-अंतर-अंतर-बीच-कनवर्ट-एंड-पार्स –

उत्तर

24

प्रति एक answer on another forum from Jon Skeet ...

Convert.ToDateTime DateTime.Parse आंतरिक रूप से उपयोग करता है, वर्तमान संस्कृति के साथ - जब तक आप इसे अशक्त गुजरती हैं, जिस स्थिति में यह रिटर्न DateTime.MinValue।

आप नहीं यकीन है कि स्ट्रिंग मान्य दिनांक समय है कर रहे हैं, का उपयोग न और इसके बजाय, DateTime.TryParse() का उपयोग करते हैं

क्या आप वाकई स्ट्रिंग मान्य दिनांक समय है कर रहे हैं, और आप जानते हैं कि प्रारूप , आप डेटटाइम पर भी विचार कर सकते हैं। ParseExact() या डेटटाइम। TryParseExact() विधियों।

+2

"संक्षेप में, कनवर्ट करें। टोडेटटाइम() CultureInfo सेट करने के लिए आवश्यक कोड को समाप्त करता है, जिसे आपको डेटटाइम का उपयोग करने के लिए करना होगा। पर्स() " यह सच नहीं है। DateTime.Parse() का उपयोग करने के लिए आपको CultureInfo सेट करने की आवश्यकता नहीं है। DateTime.Parse में एक अधिभार होता है जिसमें केवल 1 स्ट्रिंग होती है और कुछ और नहीं होता है और यह आपको बिना किसी पास के मौजूदा संस्कृति जानकारी का उपयोग करता है। – Nick

+0

@ निक - आप सही हैं। धन्यवाद! मैंने इसे संपादित किया। – David

1

कनवर्ट का ओवरलोड। टोडेटटाइम जो इनपुट पैरामीटर के रूप में स्ट्रिंग लेता है, आंतरिक रूप से डेटटाइम का आह्वान करता है। पर्स। Convert.ToDateTime के कार्यान्वयन के बाद निम्नलिखित है।

public static DateTime ToDateTime(string value) 
{ 
    if (value == null) 
    { 
     return new DateTime(0L); 
    } 
    return DateTime.Parse(value, CultureInfo.CurrentCulture); 
} 

अन्य अधिभार के मामले में, पैरामीटर IConvertible इंटरफेस में casted है और फिर इसी ToDateTime विधि शुरू हो जाती है।

public static DateTime ToDateTime(ushort value) 
{ 
    return ((IConvertible) value).ToDateTime(null); 
} 
2

DateTime.Parse एक अधिभार है कि केवल एक String और कुछ नहीं लेता है और यह आप में इसे पारित करने के बिना वर्तमान Locale जानकारी का उपयोग करता है

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