Windows 11下.NET日期格式化生成4位月份缩写问题排查
问题:Windows 11上.NET日期格式化出现4位月份缩写的原因
现象
我在代码中使用以下语句做日期格式化:
string dateStr = dateTime.ToString("dd-MMM-yyyy");
在我的Windows 11设备上,生成的日期是21-Sept-2021(月份缩写为4位),而非预期的21-Sep-2021(3位月份缩写)。但这段代码在服务器和其他开发者设备上都能正常生成3位月份缩写。
排查过程
- 已确认澳大利亚英语(en-AU)的标准月份缩写应为3位,不存在使用4位缩写的本地化规范。
- 尝试调整Windows 11的日期本地化设置为“English-Australia”,但问题依然存在。
- 目前已通过显式指定
InvariantCulture作为临时解决方案:
dateTime.ToString("dd-MMM-yyyy",CultureInfo.InvariantCulture);
疑问
是什么设置导致Windows 11上出现这种4位月份缩写的异常行为?
内容的提问来源于stack exchange,提问作者Michael Freidgeim
相关产品推荐
相关产品推荐

