




DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);
предполагая, что вы хотели сказать, что минуты следуют за часами, а не за секундами - ваш пример немного сбивает с толку.
Документация ParseExact описывает другие перегрузки на случай, если вы хотите, чтобы синтаксический анализ автоматически конвертировался во всемирное время или что-то в этом роде.
Как упоминает @ Джоэл Кохорн, есть также возможность использовать TryParseExact, который вернет логическое значение, указывающее на успех или неудачу операции - я все еще использую .Net 1.1, поэтому я часто забываю об этом.
Если вам нужно разобрать другие форматы, вы можете проверить Строки стандартного формата даты и времени.
Также: стандартный Xml имеет собственный очень специфический формат DateTime, и инструменты .Net Xml должны уметь его читать.
В этом случае он работает нормально с последним параметром, равным нулю, но для любого, кто найдет этот CultureInfo.InvariantCulture, в противном случае вы можете получить проблемы, если ваше datetime что-то вроде «1823/01/01».
@JoelCoehoorn standard XML specific DateTime format?
Спасибо за подсказку, я использовал это, чтобы проанализировать мою дату "20071122", мне нужно было добавить стили даты и времени, я ничего не использовал, и это сработало:
DateTime dt = DateTime.MinValue;
DateTime.TryParseExact("20071122", "yyyyMMdd", null,System.Globalization.DateTimeStyles.None, out dt);
Не забывайте DateTime.TryParseExact ()