DateTime.TryParseExact无法使用预期的字符串

时间:2014-02-25 15:52:45

标签: c# datetime

您好我有以下方法,我传递的值为“2014年1月7日13:48:46”,根据我的理解,TryParseExact应匹配格式“dd MMM yyyy hh:mm:ss”和返回true,但它返回false,有什么想法吗?

string[] formats= {"dd-MM-yyyy hh:mm:ss",
                   "dd MMM yyyy hh:mm:ss",
                   "dd MMM yyyy",
                   "hh-mm-ss",
                   "dd-MM-yyyy",
                   "dd-MM-yy",
                  };

 DateTime result;
 if (DateTime.TryParseExact(value, formats, CultureInfo.CurrentCulture, DateTimeStyles.None, out result))
 {
     return result;
 }
 return null;

2 个答案:

答案 0 :(得分:14)

24小时制需要HH,而不是hh。小写h为12小时。

请参阅:http://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx

答案 1 :(得分:4)

因为您的格式都没有 24小时制

hh specifier适用于0112。它没有13一小时。

使用HH specifier代替0023

有关更多信息,请查看;