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

时间:2012-07-03 12:00:30

标签: c# 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”。

欢迎任何建议......

3 个答案:

答案 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