Member 12840127 Ответов: 2

Почему я получаю строку, которая не была распознана как допустимая дата-время.


У меня есть текстовое поле txtChqDate с jQuery date picker.Если выбрана дата меньше сегодняшней даты(2016-11-10), чем ее штраф, но выбрана дата больше сегодняшней даты, скажем(2016-11-26), то она показывает ошибку "строка не была распознана как допустимая Дата-Время".

Что я уже пробовал:

Код, который я использовал:

DateTime chqdate = конвертировать.Объект todatetime(txtChqDate.Текст);
DateTime transdate = конвертировать.Объект todatetime(txtTransDate.Текст);
если (chqdate > transdate)
{
string script = " alert('дата чека не достигнута');";
ClientScript.RegisterClientScriptBlock (это.GetType (), "Alert";, script, true);
txtChqDate.Текст =""
txtAccNo.Фокус();
}
ещё
{
txtpaidto.Сосредоточить();
}

2 Ответов

Рейтинг:
14

Kornfeld Eliyahu Peter

Это как-то связано с вашими локальными настройками даты...
Преобразовать.ToDateTime ("") эквивалентно DateTime.Parse ("", CultureInfo.CurrentCulture), поэтому очевидно, что гггг-ММ-ДД не подходит вашему локальному... Это должно быть гггг-ДД-ММ, так как попытка интерпретировать 26 как месяц Ан терпит неудачу...
Воспользуйся значение datetime.Метод parseexact[^] метод с правильным форматом!


Рейтинг:
12

Karthik_Mahalingam

попробовать это

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


относиться
значение datetime.Метод TryParseExact (Система)[^]
значение datetime.Метод ParseExact (String, String, IFormatProvider) (System)[^]