C# DateTime TryParseExact Problem.相同的模式不同的年份不起作用



我有一个DateTime TryParseExact的问题。

我需要以这种格式解析字符串日期:"10 Fri, Jun 2013"

我的模式是:"d ddd, MMM yyyy"

看下面的代码

 private static readonly string[] EnglishFormats = 
    { 
        "yyyy-MM-ddTHH:mm:sszzz", "dd MMMM yyyy HH:mm" , "dddd, MMMM d, yyyy","dddd, d MMMM yyyy","dddd, MMMM d, yy","dddd, d MMMM yy","d ddd, MMM yyyy"
    };
   public static bool TryParseEnglishDate(string s, out DateTime result)
    {
        return DateTime.TryParseExact(s, EnglishFormats, CultureInfo.InvariantCulture, DateTimeStyles.None, out result);
    }

When s = " 10fri, Jan 2014" ==> result = 1/10/2014 12:00:00 AM

当s = " 10fri, Jan 2013"或其他年份不工作==> result= "1/1/0001 12:00:00 AM"

你知道为什么它不能在2014年以外的年份工作吗?

谢谢

2013年1月10日不是星期五。它正确地解析日期,不会选择性地忽略格式的部分,所以你基本上给了它一个它不能表示的日期。

2013年1月10日是星期四。所以这个输入不是一个有效的日期

相关内容

  • 没有找到相关文章

最新更新