如何同步.NET Core和.NET框架文化信息

问题描述 投票:0回答:1

我们发现某些语言环境存在一些文化差异,即“he-IL”、“en-GB”,某些日期格式在 .NET Core 和 .NET 框架中的工作方式有所不同。

例如:“en-GB”区域性中的“d MMM yyyy”格式,如果日期为“12-09-2024”,.NET 框架服务显示 2024 年 9 月 12 日,.NET Core 应用程序显示 2024 年 9 月 12 日

另一个示例:“he-IL”文化中的“dd/MM/yyyy”格式,如果日期为“12-09-2024”,.NET 框架服务显示 12/09/2024,.NET Core 应用程序显示 12.09 .2024.

有什么方法可以使文化同步,意味着在 .NET Core 和 .NET 框架中,文化应该相同。

我在 .NET Core 应用程序中的

.csproj
文件中进行了以下设置,之后 .NET Core 文化的工作方式与我的 Windows 计算机上的 .NET 框架相同。

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

但是我们的服务器中有 Linux 容器,这些更改在那里不起作用。

.net asp.net-core .net-core
1个回答
0
投票

要在 .NET Core 和 .NET Framework 之间同步区域性,请使用 ToString() 显式定义自定义日期格式以保持一致性。您还可以在 Windows 和 Linux 环境运行时设置 CultureInfo.DefaultThreadCurrentCulture。在 Linux 容器中,确保使用正确的 ICU 版本,因为它可以处理全球化。显式格式化将防止跨平台出现差异。

© www.soinside.com 2019 - 2024. All rights reserved.