c# - 为什么 GetShortestDayName 返回的名称比预期的要短?

标签 c# .net .net-6.0

DateTimeFormatInfo.GetShortestDayName(DayOfWeek) 应该返回诸如 SuMo 等名称,如示例输出所示在 Microsoft documentation 上.

相反,我只得到一个字母:SM 等。

重现代码:(我使用的是 WPF .Net 6)

DateTimeFormatInfo en_us = CultureInfo.GetCultureInfo("en-US").DateTimeFormat;
string s = en_us.GetShortestDayName(DayOfWeek.Tuesday);

这对我没有用,因为例如星期二和星期四具有相同的标识符。什么可能导致此问题,以便我可以修复它并获得预期的 SuMo 等?

最佳答案

您可以将以下设置添加到您的 (.csproj) 项目文件中以不使用 ICU globalization APIs在 .NET 5 中引入的:

<ItemGroup>
    <RuntimeHostConfigurationOption Include="System.Globalization.UseNls" Value="true" />
</ItemGroup>

关于c# - 为什么 GetShortestDayName 返回的名称比预期的要短?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71772589/

相关文章:

c# - 如何在.NET 6中添加wpf组件到win应用程序

asp.net-core - 用户 secret 文件在 asp.net core 6 中被忽略

c# - 通过CMD和C#添加字体

c# - 分配精确内存量的简单方法

c# - WHERE IN(ID 数组)

c# - 如何使用正则表达式在 C# 中检查以下条件

c# - 如何获取包含 Excel 数据的列数

.net - WCF 消息格式

c# - 在不同的 .NET 框架之间共享记录器

asp.net-core - 能不能把github上的IdentityServer4源码拿来升级到Net 6.0就可以用了?