У меня есть дата и время, возвращаемое из файла XML в формате:
20080916 11:02
как в
ггггмм чч: сс
Как я могу заставить функцию datetime.parse уловить это? Т.е. разобрать без ошибок? Ура
DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);
предполагая, что вы хотели сказать, что минуты следуют за часами, а не за секундами - ваш пример немного сбивает с толку.
В документации ParseExact подробно описаны другие перегрузки на случай, если вы хотите, чтобы синтаксический анализ автоматически конвертировался в универсальное время или что-то в этом роде.
Как упоминает @ Joel Coehoorn , есть также возможность использовать TryParseExact , который вернет логическое значение, указывающее на успех или неудачу операции - я все еще использую .Net 1.1, поэтому я часто забываю об этом.
Если вам нужно проанализировать другие форматы, вы можете проверить стандартные строки формата даты и времени .
standard XML specific DateTime format
?Спасибо за совет, я использовал это, чтобы проанализировать мою дату "20071122", мне нужно было добавить стили даты и времени, я ничего не использовал, и это сработало:
DateTime dt = DateTime.MinValue; DateTime.TryParseExact("20071122", "yyyyMMdd", null,System.Globalization.DateTimeStyles.None, out dt);
источник