我有一个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日是星期四。所以这个输入不是一个有效的日期