【发布时间】:2012-03-02 11:53:58
【问题描述】:
在 Windows 7 区域和语言设置中,我的整体“格式”设置为“英语(美国)”,但我个人的日期和时间模式设置如下...
长日期:dddd, dd MMMM, yyyy
短日期:MM/dd/yyyy
好久不见:HH:mm:ss
时间短:HH:mm
当我运行以下,针对 .Net 4.0
static void Main(string[] args)
{
Console.WriteLine(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.LongDatePattern);
Console.WriteLine(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern);
Console.WriteLine(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern);
Console.WriteLine(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern);
}
我最终得到了你所期望的结果,
dddd, dd MMMM, yyyy
MM/dd/yyyy
HH:mm:ss
HH:mm
但如果我针对 .Net 3.5(或更低版本)运行它,我会得到:
dddd, dd MMMM, yyyy
MM/dd/yyyy
HH:mm:ss
h:mm tt
您会注意到长时间格式使用我选择的 windows 格式,但短格式似乎使用“英语(美国)”的默认值。
我是否忽略了什么?
【问题讨论】:
-
.NET 对自定义格式的支持与 Windows 支持不同步。它需要支持 Windows 98 和 2000 等旧操作系统,这是不可避免的。Windows 7 和 .NET 4 都已解决。进展。
标签: .net datetime .net-4.0 .net-3.5 cultureinfo