C# DateTimeOffset.TryParse不';t在.NET5.0中设置俄文RFC日期的格式,但在.NET3.1中可以使用。为什么?
这是我的代码:C# DateTimeOffset.TryParse不';t在.NET5.0中设置俄文RFC日期的格式,但在.NET3.1中可以使用。为什么?,c#,datetime-format,datetimeoffset,C#,Datetime Format,Datetimeoffset,这是我的代码: using System; using System.Globalization; public class Program { public static void Main() { CultureInfo cultureInfo = new CultureInfo("ru"); DateTimeOffset dt; bool parseSuccess = DateTimeOffset.Try
using System;
using System.Globalization;
public class Program
{
public static void Main()
{
CultureInfo cultureInfo = new CultureInfo("ru");
DateTimeOffset dt;
bool parseSuccess = DateTimeOffset.TryParse("Ср, 17 фев 2021 15:03:25 +0300",
cultureInfo.DateTimeFormat, DateTimeStyles.None, out dt);
Console.WriteLine(dt.ToUniversalTime());
}
}
日期字符串:
“СС,17фцц2021 15:03:25+0300”
.Net 5.0输出:
.Net 3.1输出:
我需要3.1版本的输出,但在5.0版本中,我尝试了一些无效的解决方案,我不知道为什么。当我调试它时,它说日期不是正确的日期格式,但为什么它在3.1而不是5.0中工作?多亏了@HansPassant,我设法找到了解决问题的方法 通过这个链接,我可以从网站上找到一些信息 我将下面的代码添加到.csproj文件中,它可以正常工作
<ItemGroup>
<RuntimeHostConfigurationOption Include="System.Globalization.UseNls"Value="true" />
</ItemGroup>
多亏了@HansPassant,我终于找到了解决问题的办法 通过这个链接,我可以从网站上找到一些信息 我将下面的代码添加到.csproj文件中,它可以正常工作
<ItemGroup>
<RuntimeHostConfigurationOption Include="System.Globalization.UseNls"Value="true" />
</ItemGroup>
没有俄文RFC日期
。这是一个带有偏移量的本地化日期文字,也许网站上的人可以提供更好的反馈。你的目标是哪个操作系统?我可以确认DateTimeOffset.Parse(“СП,17ф砦砦砦2021 15:03:25+030”,CultureInfo.GetCultureInfo(“ru-ru”)
在.NET旧版4.7.2、.NET Core 3.1中工作,但在.NET Core 5中失败没有俄文RFC日期
。这是一个带有偏移量的本地化日期文字,也许网站上的人可以提供更好的反馈。你的目标是哪个操作系统?我可以确认DateTimeOffset.Parse(“СП,17ф砦砦砦2021 15:03:25+030”,CultureInfo.GetCultureInfo(“ru-ru”)
在.NET旧版4.7.2、.NET Core 3.1中工作,但在项目文件中的.NET Core 5中失败
就足够了;不需要使用runtimeconfig.json文件。@没错,那么就不需要所有其他信息。您可能应该修复产生非标准日期的设备。如果这些出现在HTTP头中,缓存、代理和服务器将无法解析缓存/过期周期并将所有流量转发到服务器。你最终会为设备缺陷买单——包括流量和部署更多服务器来处理未缓存的呼叫。或者,配置控制中的所有代理/服务器来处理此问题,这样至少您不必在项目文件中支付
;不需要使用runtimeconfig.json文件。@没错,那么就不需要所有其他信息。您可能应该修复产生非标准日期的设备。如果这些出现在HTTP头中,缓存、代理和服务器将无法解析缓存/过期周期并将所有流量转发到服务器。你最终会为设备缺陷买单——包括流量和部署更多服务器来处理未缓存的呼叫。或者,配置控件中的所有代理/服务器来处理此问题,这样至少您不必付费