डेटटाइम। अब यूके प्रारूपों को पहचान नहीं पाएंगे

मेरे पास कोड है जो काम करने के लिए उपयोग किया जाता है, लेकिन अब एक नए सर्वर में स्थानांतरित हो गया है और 27-11-2013 के रूप में काम करना बंद कर दिया गया है जिसे वैध डेटाटाइम के रूप में पहचाना नहीं जा रहा है। यह प्रयुक्त ताकि मैं कोई कोड परिवर्तन नहीं करना चाहता क्योंकि स्पष्ट रूप से एक सर्वर कॉन्फ़िगरेशन परिवर्तन होता है जिसे होने की आवश्यकता होती है। लेकिन कौन सा क्षेत्र/लोकेल सेटिंग डेटटाइम को प्रभावित करती है। पर्स? मैंने उनमें से कई को बदलने की कोशिश की है लेकिन अभी तक कोई काम नहीं कर पाया है।

ओह, और मैं ParseExact का उपयोग नहीं करना/नहीं कर सकता ...

0
ओओ, उपयोगकर्ता के लिए क्षेत्रीय सेटिंग्स, जो ऐसा लगता है, यह समझ में आ सकता है।
जोड़ा लेखक Paul, स्रोत
यदि आप एक अलग निर्दिष्ट नहीं करते हैं तो DateTime.Parse वर्तमान संस्कृति का उपयोग करता है।
जोड़ा लेखक Tim Schmelter, स्रोत
यदि आप कोई कोड परिवर्तन नहीं करना चाहते हैं, तो इसे सर्वर दोष में क्यों पोस्ट न करें? विंडोज 7 के लिए, यह पृष्ठ वर्णन करता है कि सिस्टम लोकेल
जोड़ा लेखक Sven Grosen, स्रोत
आपको एप्लिकेशन पूल चलाने के लिए सेट अप की गई क्षेत्रीय सेटिंग्स को बदलना पड़ सकता है। ParseExact और/या निर्दिष्ट संस्कृति आमतौर पर सर्वर साइड समाधान में अधिक मजबूत है।
जोड़ा लेखक Snorre, स्रोत

3 उत्तर

DateTime.Parse uses the current culture if you don't specify a different.

DateTime dt= DateTime.Parse("27-11-2013", new CultureInfo("en-gb"));
3
जोड़ा
मैंने सवाल में कहा कि मैं कोई कोड परिवर्तन नहीं करना चाहता था - क्योंकि यह काम करता था। इसे प्राप्त करने के लिए संस्कृति को सर्वर स्तर पर बदलने की आवश्यकता कहां है?
जोड़ा लेखक Paul, स्रोत
@ पॉल आप कोड परिवर्तन क्यों नहीं करना चाहते हैं? स्पष्ट रूप से, आपका कोड त्रुटि प्रवण है।
जोड़ा लेखक dcastro, स्रोत

इसे इस्तेमाल करे :

CultureInfo customCulture = new CultureInfo("en-GB");
DateTime myDateTime = DateTime.Parse("27-11-2013", customCulture.DateTimeFormat);
1
जोड़ा
मेरे द्वारा Arrggg टिम 13seconds ^^
जोड़ा लेखक Trax, स्रोत

आप इसे नीचे web.config में कर सकते हैं

    
0
जोड़ा