मैं ऐसे ऐप पर काम कर रहा हूं जो दुनिया के कई देशों में देखा जा सकता है। ऐसे कई देश नहीं हैं जो कुछ अन्य के साथ घंटों, मिनट और सेकंड दिखाते हैं: एक सेपरेटर के रूप में, लेकिन कुछ हैं और मैं यह सुनिश्चित करना चाहता हूं कि समय उनके क्षेत्र के लिए सही ढंग से स्वरूपित हो। डेटटाइम इस पर बहुत अच्छा है लेकिन टाइमस्पेन नहीं है। ये स्निपेट विजुअल स्टूडियो 2010 में मेरे तत्काल विंडो से हैं, जिसका उपयोग मेरे क्षेत्र के साथ मलयालम (भारत) में किया गया है। डेटटाइम.अब कॉल यह भी दर्शाता है कि मेरी घड़ी, माइक्रोसॉफ्ट आउटलुक और अन्य क्षेत्रों पर समय कैसा दिखाया गया है।विभिन्न संस्कृतियों में स्वरूपण टाइमस्पेन
DateTime.Now.ToString()
"02-10-12 17.00.58"
http://msdn.microsoft.com/en-us/library/dd784379.aspx कहते हैं "अगर formatProvider रिक्त है, DateTimeFormatInfo उद्देश्य यह है कि वर्तमान संस्कृति से संबंधित है जो प्रयोग किया जाता है। अगर प्रारूप एक कस्टम प्रारूप स्ट्रिंग, formatProvider पैरामीटर पर ध्यान नहीं दिया जाता है।" इसका कारण यह है कि मुझे वर्तमान संस्कृति इन्फ्लो में भी पास करने की आवश्यकता नहीं है। मैं जिस प्रारूप में चाहता हूं वह है hh.mm.ss लेकिन obvioulsy hh: mm: ss जब अन्य भाषाओं में, और यदि अन्य अन्य संभावनाएं हैं, तो उन्हें स्वचालित रूप से उनको प्रतिबिंबित करना चाहिए - मूल रूप से टाइमस्पेन संस्कृति-जागरूक होना चाहिए, बस डेटटाइम के रूप में है।
हालांकि:
timeRemaining.ToString()
"00:02:09"
timeRemaining.ToString("c")
"00:02:09"
timeRemaining.ToString("c", CultureInfo.CurrentCulture)
"00:02:09"
timeRemaining.ToString("g")
"0:02:09"
timeRemaining.ToString("G")
"0:00:02:09.0000000"
timeRemaining.ToString("t")
"00:02:09"
timeRemaining.ToString("g", CultureInfo.CurrentCulture)
"0:02:09"
timeRemaining.ToString("g", CultureInfo.CurrentUICulture)
"0:02:09"
timeRemaining.ToString("G", CultureInfo.CurrentUICulture)
"0:00:02:09.0000000"
timeRemaining.ToString("G", CultureInfo.CurrentCulture)
"0:00:02:09.0000000"
timeRemaining.ToString("t", CultureInfo.CurrentCulture)
"00:02:09"
मैं उत्पादन के लिए एक सरल, एकल पंक्ति एक संस्कृति-अवेयर ढंग से एक समयावधि के लिए देख रहा हूँ। किसी भी विचार की सराहना की जाती है।
लेकिन यदि आप एक प्रारूप स्ट्रिंग का उपयोग करने जा रहे हैं तो एक बहुत ही सरल कामकाज 'ts.ToString (" h '।' Mm '।' Ss ")' है।.NET 4.0 के बाद से काम करता है। यह हार्ड-कोड पाठ्यक्रम की अवधि है। यदि आप संस्कृति के समय विभाजक का उपयोग करना चाहते हैं, तो इसे 'CultureInfo.CurrentCulture.DateTimeFormat.TimeSeparator' से पढ़ें, इसे एस्ट्रोफ़ेस के अंदर रखें और इसे 'h', 'mm' और' ss' के साथ प्रारूप स्ट्रिंग में उपयोग करें 'टाइमस्पेन'। –
यह देखना मुश्किल है कि यह "सरल" कैसे है। यह निश्चित रूप से उस समय के साथ सटीक नहीं होगा जब समय प्रारूप ओवरराइड करता है जिसे उपयोगकर्ता नियंत्रण कक्ष में निर्दिष्ट करता है। –