我的任务是从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上看到了很多类似的问题,但到目前为止我还没有找到任何合适的解决方案。
有人知道问题是什么吗?
提前谢谢。
答案 0 :(得分:4)
查看格式模式:
"dd/MM/yyyy hh:mm:ss"
“hh”表示十二小时时钟,通常与AM / PM指示符的“tt”结合使用。所以19不是有效值。你想要“HH”代替“hh”,因为“HH”使用24小时制。
有关详细信息,请参阅custom date and time format strings上的MSDN。