有没有人注意到在不同版本的 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();
}
}
最佳答案
另外,Windows 10 上有更多的 CultureInfo 可用。我希望这将与 Windows Server 2016 保持一致,最好通过 WU 推送到所有版本。
例如; Windows 10 支持 247 个区域
,而 Windows 2012R2 仅支持 142 个区域
。
CultureInfo 对象划分区域:
关于c# - CultureInfo 在 Windows 版本之间不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34755478/