使用DateTime.TryParse方法检查有效日期

我正在使用Datetime.TryParse方法来检查有效的日期时间。 输入日期字符串将是任何字符串数据。 但是返回false作为指定日期无效。

 DateTime fromDateValue; if (DateTime.TryParse("15/07/2012", out fromDateValue)) { //do for valid date } else { //do for in-valid date } 

编辑:我错过了。 我需要将有效日期和时间一起检查为“15/07/2012 12:00:00”。

欢迎任何建议……

您可以使用TryParseExact方法,该方法允许您传递要支持的可能格式的集合。 TryParse方法依赖于文化,因此如果您决定使用它,请务必小心。

例如:

 DateTime fromDateValue; string s = "15/07/2012"; var formats = new[] { "dd/MM/yyyy", "yyyy-MM-dd" }; if (DateTime.TryParseExact(s, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out fromDateValue)) { // do for valid date } else { // do for invalid date } 

您应该使用TryParseExact因为您似乎在您的情况下修复了格式。

类似的东西也适合你

 DateTime.ParseExact([yourdatehere], new[] { "dd/MM/yyyy", "dd/M/yyyy" }, CultureInfo.InvariantCulture, DateTimeStyles.None); 

正如其他人所说,你可以使用TryParseExact

有关更多信息和随时间的使用,您可以查看MSDN文档