我正在使用此函数从XML解析日期和时间:
DateTime.ParseExact(timeEndString, "yyyyMMddHHmm", CultureInfo.InvariantCulture);
除非时间是 00:00,否则一切正常。在这种情况下,我只会得到没有时间的约会。有什么方法可以防止在解析日期时间时省略 0000 时间?
UPD:感谢有用的评论。我发现问题出在代码的完全不同的部分,但不在解析部分。
我正在使用此函数从XML解析日期和时间:
DateTime.ParseExact(timeEndString, "yyyyMMddHHmm", CultureInfo.InvariantCulture);
除非时间是 00:00,否则一切正常。在这种情况下,我只会得到没有时间的约会。有什么方法可以防止在解析日期时间时省略 0000 时间?
UPD:感谢有用的评论。我发现问题出在代码的完全不同的部分,但不在解析部分。
如果您的意思是 XML 日期值可以有 2 种格式,您可以尝试以下操作:
try
{
//...
DateTime.ParseExact(timeEndString, "yyyyMMddHHmm", CultureInfo.InvariantCulture);
}
catch (Exception)
{
//...
DateTime.ParseExact(timeEndString, "yyyyMMdd", CultureInfo.InvariantCulture);
}
只需包含额外的代码逻辑来检查结果长度。如果它太短,您可能会认为零被剥离,那么您只需将零添加进去。