FormatException при преобразовании строки в DateTime - PullRequest
0 голосов
/ 31 марта 2012

Моя задача - извлечь данные из файла XML. Каждый узел в файле XML содержит дату и время. Чтобы прочитать и преобразовать его, я использую следующее:

date = DateTime.ParseExact (turnoNode.SelectSingleNode ("FechaHoraAlta"). InnerText, "дд / мм / гггг чч: мм: сс", 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, но до сих пор я не нашел никакого правильного решения.

Кто-нибудь знает, в чем может быть проблема?

Заранее спасибо.

1 Ответ

4 голосов
/ 31 марта 2012

Посмотрите на ваш шаблон формата:

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

«чч» означает двенадцать часов, обычно в сочетании с «tt» для обозначения AM / PM.Так что 19 не является допустимым значением.Вы хотите «ЧЧ» вместо «чч», так как «ЧЧ» использует 24-часовые часы.

См. MSDN на пользовательских строках даты и времени для получения дополнительной информации.

...