2016-03-31 14 views
6

मैं सिर्फ यह क्यों कोडस्ट्रिंग स्वरूप अप्रत्याशित परिणाम देता है

DateTime.Now.ToString("MM/dd/yyyy"); and String.Format("{0: MM/dd/yyyy}", DateTime.Now); 

दोनों 03 31 के बजाय 2016/03/31 2016 रिटर्न सोच रहा हूँ।

+2

क्या _CultureInfo.CurrentCulture.DateTimeFormat.DateSeparator_ के लिए अपने CultureInfo सेटिंग्स हैं: तुम भी ग # v6 स्ट्रिंग प्रक्षेप इस्तेमाल कर सकते हैं – Steve

उत्तर

8

/format specifier है जो आपके स्थानीय दिनांक विभाजक में परिवर्तित हो गया है। या तो इसे एस्ट्रोफ़ेस में लपेटें या DateTimeFormatInfo.InvariantInfo के साथ ओवरलोड का उपयोग करें।

Console.WriteLine(DateTime.Now.ToString("MM'/'dd'/'yyyy")); 
Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy", DateTimeFormatInfo.InvariantInfo)); 

या String.Format साथ:

Console.WriteLine(String.Format("{0:MM'/'dd'/'yyyy}", DateTime.Now)); 
Console.WriteLine(String.Format(DateTimeFormatInfo.InvariantInfo, "{0:MM/dd/yyyy}", DateTime.Now)); 

तुम भी CultureInfo.InvariantCulture बजाय DateTimeFormatInfo.InvariantInfo उपयोग कर सकते हैं।

0

टिम का जवाब शानदार है।

var x = DateTime.Now.ToString($"MM/dd/yyyy"); 
var y = $"{DateTime.Now: MM/dd/yyyy}"; 
संबंधित मुद्दे