DateTimeOffset.TryParse 不会在 .Net 5.0 中格式化俄罗斯 RFC 日期,但它在 .Net 3.1 中工作为什么?

问题描述

这是我的代码

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 输出

enter image description here

.Net 3.1 输出

enter image description here

我需要 3.1 的输出,但在 5.0 中,我尝试了一些没有用的安静解决方案,我不知道为什么。当我调试它时,它说日期不是正确的日期格式,但为什么它在 3.1 而不是 5.0 中工作?

解决方法

感谢@HansPassant GitHub Link,我设法找到了解决我的问题的方法。

通过此链接,我能够从 Microsoft docs 中找到一些信息。

我将下面的代码添加到 .csproj 文件中,并且可以正常工作。

::deep