DateTime.TryParseExact()返回false

nov*_*ice -1 c# datetime tryparse

我有以下代码

public static void Main()
{
    DateTime D = new DateTime();
    D = DateTime.Now;

    string s1 = D.ToString("ddMMMMyyyy");
    Console.WriteLine(s1);

    Console.WriteLine(DateTime.TryParseExact(s1, "ddMMMyyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out D));
    Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我意识到我正在犯的明显错误.

我转换DateTime.Now为自定义格式的字符串并尝试将其转换回来,但TryParseExact返回false.

Kek*_*mau 7

简答:MMMM不等于MMM.

旁注:解析这些字符串CultureInfo.InvariantCulture只会识别英文名称,它似乎会在使用其他语言的机器上失败.

  • @Nahum Litvin:对别人的答案来说,这是一个非常大胆的编辑.对不起,我已经回滚了你放的代码,因为它似乎没有在我的机器上编译(你的代码返回1.1.0001作为日期).请考虑使用经过测试的代码发布单独的答案. (3认同)