Raja Ganapathy Ответов: 1

Как проверить, что введенная дата не является большей датой (будущей датой)?


У меня есть выбор даты и выбрать дату из календаря. как проверить, если пользователь выбирает будущую дату, чтобы бросить сообщение об ошибке.я знаю, что использовать jquery, чтобы скрыть будущие даты.но проблема в том, что один выбор даты использует больше мест, так что не скрывайте будущие даты.как это сделать в c#. чтобы проверить дату, если будет введена будущая дата, чтобы выдать сообщение об ошибке.
* я выбираю только дату. формат даты (ДД/ММ/гггг)

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

if (tbxFromDate.Value != "" && Convert.ToDateTime(tbxFromDate.Value) > DateTime.Today)
        {
            Messagebox.Show("From Date should be earlier or equal To Today Date", MessageHelper.MessageType.Warning);
        }

выше код я буду использовать для проверки, но сообщение об ошибке происходит.
- Строка не была распознана как допустимая Дата-Время.
потому что дата-время.Сегодня функция есть (ММ/ДД/гггг 12: 00: 00)
как подтвердить это. я использовал другой метод, также получивший значение textbox в одну строку и сегодняшнюю дату (только дату), сохраненную в другой строке, но произошла ошибка.
ошибка: "не использовать > В строке" (немного я забыл сообщение об ошибке).

1 Ответов

Рейтинг:
5

Er. Puneet Goel

На самом деле культура по умолчанию не распознает dd/mm/yyyy как формат даты. Поэтому сначала преобразуйте его в действительную дату и время, как я показал, а затем сравните

using System.Globalization;
        DateTime dt = DateTime.ParseExact(tbxFromDate.Value, "dd/MM/yyyy", CultureInfo.InvariantCulture);
        if (tbxFromDate.Value != "" && dt > DateTime.Today)
        {
            Messagebox.Show("From Date should be earlier or equal To Today Date", MessageHelper.MessageType.Warning);
        }


Raja Ganapathy

Работает нормально.
Большое вам спасибо! РП.Пунит Гоэль

Er. Puneet Goel

Добро пожаловать. :)