DateTime.TryParse未正确检查字符串的时间部分

时间:2016-07-14 02:01:52

标签: c# asp.net datetime tryparse

我正在使用DateTime.TryParse(value, out datetime)检查字符串是否有有效日期。 但我有一个问题。如果value是时间格式(例如:14:25:26),则Datetime.TryParse返回true。这不是我所期望的。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这确实会回归真实,而且这是预期的。 dt的值以当前日期结束。

DateTime dt;
var result = DateTime.TryParse("14:25:26", out dt);

如果您想要一个只包含时间无效的字符串,可以改用TryParseExact

DateTime dt;
var result = DateTime.TryParseExact("14:25:26", "MM/dd/yyyy HH:mm:ss", null, DateTimeStyles.None, out dt);
// result is False, since the string does not contain a date