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头中,缓存、代理和服务器将无法解析缓存/过期周期并将所有流量转发到服务器。你最终会为设备缺陷买单——包括流量和部署更多服务器来处理未缓存的呼叫。或者,配置控件中的所有代理/服务器来处理此问题,这样至少您不必付费