对于格式化为HH \ mm的时间部分,将字符串解析为DateTime总是得到00:00

时间:2013-04-23 08:49:09

标签: c# .net parsing datetime datetime-parsing

我正在使用此函数从 XML 解析日期和时间:

DateTime.ParseExact(timeEndString, "yyyyMMddHHmm", CultureInfo.InvariantCulture);

除非时间是00:00,否则一切正常。在这种情况下,我只是没有时间的约会。有没有办法防止在解析日期时间时省略0000时间?

UPD: 感谢您提供有用的评论我发现问题出在完全不同的代码部分,但不在解析部分。

2 个答案:

答案 0 :(得分:0)

只需包含其他代码逻辑即可检查结果长度。如果它太短,你可以假设零被剥离,然后你只需将零附加。

答案 1 :(得分:0)

如果您的意思是XML日期值可以有2种格式,您可以尝试类似:

try
{
    //...
    DateTime.ParseExact(timeEndString, "yyyyMMddHHmm", CultureInfo.InvariantCulture);
}
catch (Exception)
{
    //...
    DateTime.ParseExact(timeEndString, "yyyyMMdd", CultureInfo.InvariantCulture);
}