DateTime. Ошибка формата ParseExact

Я использовал текстовое поле для хранения даты в формате DD-MM-YYYY и так как я использую SQL-сервер, я раньше получал значение от текстового поля и затем помещал его в переменную DateTime dt типа

DateTime dt = DateTime.ParseExact(TextBox10.Text,"MM-DD-YYYY",CultureInfo.InvariantCulture);

Я получаю ошибку спецификации формата, я прошел многих документация, но все еще не мог добраться, где я иду не так, как надо

Это я использую C# и ADO.net, кто-либо может исправить меня?

1
задан Nagaraj Tantri 26 July 2010 в 19:14
поделиться

3 ответа

Похоже, вы перепутали ДД и ММ. Попробуйте ниже:

DateTime dt = DateTime.ParseExact(TextBox10.Text,"dd-MM-yyyy",CultureInfo.InvariantCulture);

Обратите внимание, что я изменил «DD» на «dd»!

ОБНОВЛЕНИЕ:

Хорошо, я изменил «ГГГГ» на «гггг» и запустил приведенный ниже код, и он успешно проанализировал:

DateTime dt = DateTime.ParseExact("28-01-2010", "dd-MM-yyyy", provider);

Если ваши пользователи действительно передают даты в формате «дд-ММ-гггг» "это должно сработать для вас. Имейте в виду, что вторая строка не имеет ничего общего с тем форматом, который вы храните в своей базе данных. Это связано только с форматом первого строкового аргумента в ParseExact. HTH.

1
ответ дан 2 September 2019 в 22:44
поделиться

Как упоминалось выше, строка формата даты чувствительна к регистру.

Однако вы уверены, что хотите использовать DateTime.ParseExact вместо DateTime.Parse?

0
ответ дан 2 September 2019 в 22:44
поделиться

попробуйте это

DateTime.ParseExact("12-12-2010", "MM-dd-yyyy", System.Globalization.CultureInfo.InvariantCulture)

Позаботьтесь о корпусе строки формата даты. «dd» может отличаться от «DD»

1
ответ дан 2 September 2019 в 22:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: