2012-06-27 54 views
17

कोड की यह पंक्ति:डेटटाइम। पर्सएक्सएक्ट() 24 घंटे के समय के मूल्यों को कम नहीं करता है?

DateTime dt = DateTime.ParseExact(time, "hh:mm", CultureInfo.InvariantCulture); 

की "00:45" ठीक एक "समय" मूल्य पार्स करता है, लेकिन की "13:00"

मैं कुछ अन्य CultureInfo प्रयोग करना चाहिए एक अपवाद फेंकता मूल्य, या क्या मुझे 12 बजे से ऊपर के मानों के लिए "अपराह्न" जोड़ना होगा, या ...?

त्रुटि संदेश है: सिस्टम। फोर्मेट अपवाद को अनचाहे संदेश = स्ट्रिंग को वैध दिनांक समय के रूप में पहचाना नहीं गया था।

+13

24 घंटे प्रारूपों को पार्स करने के लिए "एचएच: मिमी" का उपयोग करें। एक SO प्रश्न में "grok" शब्द का उपयोग करने के लिए –

+2

+1 –

उत्तर

44

"एचएच" 12 घंटे का घड़ी प्रारूप (01 से 12) है। आपको 24 घंटे की घड़ी के लिए "एचएच" का उपयोग करने की आवश्यकता है।

DateTime dt = DateTime.ParseExact(time, "HH:mm", CultureInfo.InvariantCulture); 
2

इस प्रयास करें:

DateTime dt = DateTime.ParseExact(time, "u", CultureInfo.InvariantCulture); 

"u" इंगित करता है सार्वभौमिक sortable प्रारूप।

2

हालांकि हंस ने टिप्पणी अनुभाग में पहले से ही आपके प्रश्न का उत्तर दिया है, Here एक एमएसडीएन लिंक है जो DateTime.ParseExact विधि के साथ उपयोग किए जाने वाले सभी प्रकार के दिनांक प्रारूपों का वर्णन करता है।