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

C# 将字符串解析为DateTime对于格式为HH\mm的时间部分总是得到00:00,c#,.net,parsing,datetime,datetime-parsing,C#,.net,Parsing,Datetime,Datetime Parsing,我正在使用以下函数从XML解析日期和时间: DateTime.ParseExact(timeEndString, "yyyyMMddHHmm", CultureInfo.InvariantCulture); 除非时间是00:00,否则一切正常。在这种情况下,我只能得到没有时间的约会。有什么方法可以防止在这样解析日期时间时忽略0000时间 UPD: 谢谢你的宝贵意见。我发现问题出在完全不同的代码部分,而不是解析部分。只需包含附加代码逻辑来检查结果长度。如果它太短,您可以假设零被剥离,然后您只需将

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

DateTime.ParseExact(timeEndString, "yyyyMMddHHmm", CultureInfo.InvariantCulture);
除非时间是00:00,否则一切正常。在这种情况下,我只能得到没有时间的约会。有什么方法可以防止在这样解析日期时间时忽略0000时间

UPD:
谢谢你的宝贵意见。我发现问题出在完全不同的代码部分,而不是解析部分。

只需包含附加代码逻辑来检查结果长度。如果它太短,您可以假设零被剥离,然后您只需将零追加到中。

如果您的意思是XML日期值可以有两种格式,您可以尝试以下操作:

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

你说的“我只有约会而没有时间”是什么意思?日期时间总是有一个“时间”部分。你是什么意思?DateTime类始终包含时间。你的情况是00:00:00。把这个博客放在try…Catch语句之间。在catch中,输入另一个选项,即没有timeRight的日期。我没有意识到DateTime总是包含时间部分,所以问题出在代码的完全不同部分。问题是后来我将DateTime转换为.ToString()时。如果是00:00:00,则省略了带有时间的部分。DateTime解析方法不会返回字符串。你的意思是多长?