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

本文关键字:字符串 时间部 检查 TryParse DateTime | 更新日期: 2023-09-27 17:56:47

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

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

这确实会返回 true,这是意料之中的。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