14

我正在使用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”。

欢迎任何建议。

4

3 回答 3

32

您可以使用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
}
于 2012-07-03T12:05:47.400 回答
2

您应该使用TryParseExact您似乎已在您的情况下固定格式。

类似的东西也可以为你工作

DateTime.ParseExact([yourdatehere],
                    new[] { "dd/MM/yyyy", "dd/M/yyyy" },
                    CultureInfo.InvariantCulture,
                    DateTimeStyles.None);
于 2012-07-03T12:07:09.730 回答
0

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

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

于 2012-07-03T13:01:53.577 回答