C# 返回为M/d/yyyy而不是MM/dd/yyyy c的日期格式#
我使用下面的代码来获取c中的ShortDatePattern格式#C# 返回为M/d/yyyy而不是MM/dd/yyyy c的日期格式#,c#,date-formatting,C#,Date Formatting,我使用下面的代码来获取c中的ShortDatePattern格式# 它将我返回为“M/d/yyyy”,但我希望“MM/dd/yyyy”作为其美国日期格式。为什么我得到的是第一格式而不是第二格式 这取决于机器。您可以在计算机的控制面板中进行设置,默认设置为M/d/yyyy。虽然您可以将其更改为匹配,但您不能依赖其他具有相同设置的计算机,而且您真的不应该假设其他用户会对您的设置选择感到满意。如果你需要一个特定的格式,请询问该特定的格式 您可以更改ShortDatePattern。默认情况下为M/d/
它将我返回为“M/d/yyyy”,但我希望“MM/dd/yyyy”作为其美国日期格式。为什么我得到的是第一格式而不是第二格式 这取决于机器。您可以在计算机的控制面板中进行设置,默认设置为
M/d/yyyy
。虽然您可以将其更改为匹配,但您不能依赖其他具有相同设置的计算机,而且您真的不应该假设其他用户会对您的设置选择感到满意。如果你需要一个特定的格式,请询问该特定的格式
您可以更改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
好的,谢谢你的回复。若你们看一下我给出的代码片段,那个么它并不是在讨论当前线程,而是它的特定线程。我将使用当前线程获取我设置的任何内容,但在前面提到的场景中并不是这样。
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