DateTime dt = DateTime.ParseExact("1122010", "Mddyyyy", System.Globalization.CultureInfo.CurrentCulture);
Возникло это исключение: String не был распознан как допустимый DateTime.
Я уверен, что это отсутствие ведущего 0 в месяце. Какая строка правильного формата?
Я предлагаю использовать формат "MMddyyyy" и убедитесь, что ваш входной параметр содержит не менее 8 символов. Пример:
DateTime dt = DateTime.ParseExact("1122010".PadLeft(8, '0'), "MMddyyyy", System.Globalization.CultureInfo.CurrentCulture);
Если вы используете источник данных, в котором отсутствует начальный 0 для месяца, он будет добавлен там, где это необходимо.
Проблема в том, что вы не предоставляя ParseExact достаточно информации для работы.
«M» означает месяц, состоящий из 1 или 2 цифр. Но ваша строка начинается с «1122». Это 12 января или 22 ноября?
Единственное решение, как показывает Энтони, - добавить 0, когда это необходимо.
Одиночная строка формата «M» неприемлема, поскольку не все месяцы могут быть однозначно представлены одной цифрой или символом. Как было предложено ранее, вам нужно будет использовать «MMddyyyy» и при необходимости дополнить левую строку.