0

我的任务是从 XML 文件中检索数据。XML 文件中的每个节点都包含日期和时间。要阅读和转换它,我使用以下内容:

date = DateTime.ParseExact(turnoNode.SelectSingleNode("FechaHoraAlta").InnerText, "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture);

对于前两个节点,它会正确转换日期:

<FechaHoraAlta>19/04/2012 10:00:36</FechaHoraAlta>
<FechaHoraAlta>19/04/2012 11:00:05</FechaHoraAlta>

第三个节点出现问题,其中包含:

<FechaHoraAlta>22/04/2012 19:37:52</FechaHoraAlta>

然后抛出 FormatException 异常,说明该字符串未被识别为有效的 DateTime。

我试图调试它,我所知道的是它正确地获取了 InnerText,它是“22/04/2012 19:37:52”。它只是无法转换它,但我不知道为什么。

我在stackoverflow上看到了很多类似的问题,但到目前为止我还没有找到任何合适的解决方案。

有人知道问题可能是什么吗?

先感谢您。

4

1 回答 1

4

查看您的格式模式:

"dd/MM/yyyy hh:mm:ss"

“hh”表示十二小时制,通常与 AM/PM 指示符的“tt”结合使用。所以 19 不是一个有效值。您想要“HH”而不是“hh”,因为“HH”使用 24 小时制。

有关详细信息,请参阅有关自定义日期和时间格式字符串的MSDN 。

于 2012-03-30T22:54:35.013 回答