我使用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”。
欢迎任何建议......
答案 0 :(得分:24)
您可以使用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
}
答案 1 :(得分:1)
您应该使用TryParseExact
,因为您似乎已经修复了格式。
类似的东西也适合你
DateTime.ParseExact([yourdatehere],
new[] { "dd/MM/yyyy", "dd/M/yyyy" },
CultureInfo.InvariantCulture,
DateTimeStyles.None);
答案 2 :(得分:0)
正如其他人所说,你可以使用TryParseExact
。
有关更多信息和随时间的使用,您可以查看MSDN Documentation