2016-06-20 31 views
0

我用下面的代碼來獲得ShortDatePattern格式在C#日期格式而不是MM/DD/YYYY C#

CultureInfo.GetCultureInfo("en-US").DateTimeFormat.ShortDatePattern 

它返回我爲 「M/d/YYYY」 不過,我回來爲M/d/YYYY我期待「MM/dd/yyyy」作爲它的美國日期格式。爲什麼我得到第一種格式而不是第二種?

回答

4

這是機器的依賴關係。您可以在計算機的控制面板中設置此項,默認爲M/d/yyyy。雖然你可能改變這個匹配,你不能依靠其他計算機具有相同的設置,你真的不應該假設其他用戶會滿意你的設置選擇。如果您需要特定格式,請詢問具體格式。

Time Format

+0

好感謝。如果你看看我給出的代碼片段並不是談論當前線程,但是它的具體內容。我會得到我使用當前線程設置的任何內容,但是在提到的場景中它不是。 – user3249448

0

可以更改ShortDatePattern。缺省情況下是M/d/yyyy的

下面是一個例子答覆

DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture("en-US").DateTimeFormat; 
     DateTime date1 = new DateTime(2011, 5, 1); 
     Console.WriteLine("Original Short Date Pattern:"); 
     Console.WriteLine(" {0}: {1}", dtfi.ShortDatePattern, 
             date1.ToString("d", dtfi)); 
     dtfi.DateSeparator = "-"; 
     dtfi.ShortDatePattern = @"yyyy/MM/dd"; 
     Console.WriteLine("Revised Short Date Pattern:"); 
     Console.WriteLine(" {0}: {1}", dtfi.ShortDatePattern, 
             date1.ToString("d", dtfi)); 

// The example displays the following output: 
//  Original Short Date Pattern: 
//   M/d/yyyy: 5/1/2011 
//  Revised Short Date Pattern: 
//   yyyy/MM/dd: 2011-05-01