CultureInfo在Windows版本之间不一致

时间:2016-01-12 23:06:32

标签: c# .net windows cultureinfo windows-server-2012-r2

有没有人注意到在不同版本的Windows上,CultureInfo格式会产生不同的模式?

Windows 7创建 dddd,MMMM dd,YYYY

示例输出: Windows 7

Windows 10& Windows Server 2012创建了 dddd,MMMM d,YYYY

示例输出: Windows 10& Server 2012 R2

我从MSDN site on DateTime获得了这个样本。修改以检查当天的前导零。

public class Sample
{
    public static void Main()
    {
        string msg1 = "The date and time patterns are defined in the DateTimeFormatInfo \n" +
                      "object associated with the current thread culture.\n";

        // Initialize a DateTime object.
        Console.WriteLine("Initialize the DateTime object to May 06, 2001 3:02:15 AM.\n");
        DateTime myDateTime = new System.DateTime(2001, 5, 6, 3, 2, 15);

        // Identify the source of the date and time patterns.
        Console.WriteLine(msg1);

        // Display the name of the current culture.
        CultureInfo ci = CultureInfo.GetCultureInfo("en-us");
        Console.WriteLine("Current culture: \"{0}\"\n", ci.Name);

        // Display the long date pattern and string.
        Console.WriteLine("Long date pattern: \"{0}\"", ci.DateTimeFormat.LongDatePattern);
        Console.WriteLine("Long date string:  \"{0}\"\n", myDateTime.ToLongDateString());

        // Display the long time pattern and string.
        Console.WriteLine("Long time pattern: \"{0}\"", ci.DateTimeFormat.LongTimePattern);
        Console.WriteLine("Long time string:  \"{0}\"\n", myDateTime.ToLongTimeString());

        // Display the short date pattern and string.
        Console.WriteLine("Short date pattern: \"{0}\"", ci.DateTimeFormat.ShortDatePattern);
        Console.WriteLine("Short date string:  \"{0}\"\n", myDateTime.ToShortDateString());

        // Display the short time pattern and string.
        Console.WriteLine("Short time pattern: \"{0}\"", ci.DateTimeFormat.ShortTimePattern);
        Console.WriteLine("Short time string:  \"{0}\"\n", myDateTime.ToShortTimeString());


        Console.ReadLine();
    }
}

1 个答案:

答案 0 :(得分:0)

此外,Windows 10上还有更多的CultureInfo可用。我希望这与Windows Server 2016一致,最好通过WU推送到所有版本。

例如; Windows 10支持247 regions,因为Windows 2012R2仅涵盖142 regions

CultureInfo对象分为几个区域:

Windows 10 enter image description here

Windows 2012R2 enter image description here