为什么es-MX日期格式从Windows 7更改到Windows 10 ?
本文关键字:Windows 日期 格式 为什么 es-MX | 更新日期: 2023-09-27 18:09:29
下面是一个单元测试:
[TestMethod]
public void Check_how_es_MX_displays_MMM()
{
var originalCulture = Thread.CurrentThread.CurrentCulture;
try
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-MX");
var result = new DateTime(2015, 8, 6).ToString("MMM");
Assert.AreEqual("ago", result);
}
finally
{
Thread.CurrentThread.CurrentCulture = originalCulture;
}
}
当我在Windows 7上运行这个时,它通过了。当我在Windows 10机器上运行这个程序时,它失败了:
Assert.AreEqual failed. Expected:<ago>. Actual:<ago.>.
我在两台电脑上都基于。net 4.5.1构建。
为什么"MMM"格式字符串在Windows 7中返回"ago"而在windows10中返回"ago."?我以为它总是会给我一个3个字母的月份代码。
编辑
更多的阅读表明使用MMM会查找缩略的月份名称:System.Globalization.DateTimeFormatInfo.AbbreviatedMonthNames
编辑2
这是另一个问题,处理(我认为)同样的问题
从Windows 10开始,语言环境数据来自CLDR -通用语言环境数据存储库
更多信息:https://blogs.msdn.microsoft.com/shawnste/2015/08/29/locale-data-in-windows-10-cldr/