Windows版本之间的CultureInfo不一致 [英] CultureInfo is not consistent between windows versions

查看:151
本文介绍了Windows版本之间的CultureInfo不一致的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有人注意到在不同版本的Windows上,CultureInfo格式将导致不同的模式?



Windows 7创建了 dddd,MMMM dd,YYYY



示例输出:



Windows 2012R2


Has anyone noticed that on different versions of Windows the CultureInfo format will result in a different pattern?

Windows 7 created dddd, MMMM dd, YYYY

Sample output: Windows 7

Both Windows 10 & Windows Server 2012 created dddd, MMMM d, YYYY

Sample output: Windows 10 & Server 2012 R2

I got this sample from the MSDN site on DateTime. Modified to check the leading Zero of day.

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();
    }
}

解决方案

Also, there are far more CultureInfo's available on Windows 10. I hope this will be conistent with Windows Server 2016, and preferably pushed to all editions through WU.

For instance; Windows 10 has support for 247 regions where as Windows 2012R2 only covers 142 regions.

CultureInfo objects divided into regions:

Windows 10

Windows 2012R2

这篇关于Windows版本之间的CultureInfo不一致的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆