为何同一en-GB文化在不同Windows系统中月份缩写不同?.NET 6
同一en-GB文化下Windows 10与11月份缩写差异的原因
这个差异的核心原因是Windows系统自身的区域设置更新:
- .NET 6中,
DateTimeFormatInfo.AbbreviatedMonthNames的默认值并非由.NET框架内置,而是直接读取当前Windows系统的区域配置数据。 - 微软在Windows 11版本中调整了en-GB(英式英语)区域的月份缩写规范,将9月的缩写从原有的
Sep修改为Sept;而Windows 10仍沿用旧的缩写标准。
你的测试代码:
var x = new DateTime(2023, 9, 27); Console.WriteLine(x.ToString("MMM", new CultureInfo("en-GB")));
因为两端系统版本不同,读取到的系统级区域配置存在差异,所以最终输出结果不一致。
内容的提问来源于stack exchange,提问作者YungDeiza
相关产品推荐
相关产品推荐

