我使用下面的代码在c#
中获取ShortDatePattern格式CultureInfo.GetCultureInfo("en-US").DateTimeFormat.ShortDatePattern
将我作为" M / d / yyyy"但我期待" MM / dd / yyyy"作为其美国日期格式。为什么我得到第一种格式而不是第二种?
答案 0 :(得分:6)
这取决于机器。您可以在计算机的控制面板中进行设置,M/d/yyyy
是默认设置。虽然您可以将其更改为匹配,但您不能依赖具有相同设置的其他计算机,而您真的不应该假设其他用户会对您的设置选择感到满意。如果您需要特定格式,请询问该特定格式。
答案 1 :(得分: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