qulaitks Ответов: 1

Как получить последний день месяца с помощью datetimepicker


Хороший день

Я новичок в vb , я пытаюсь получить последний день месяца, используя datetimepiker. Когда я использовать стрелки вверх-вниз я получаю сообщение об ошибке (год, месяц, день и параметров, описывающих не-представимое значение типа datetime.) когда дни месяца не совпадают (31 или 30). Я использовал приведенный ниже код.


С уважением

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

dtp2.Значение = помощью функции dateserial(dtp2.Значение.Год, dtp2.Value.Месяц,1).AddMonths(1).AddDays(-1)

1 Ответов

Рейтинг:
2

OriginalGriff

Не используйте устаревшие команды VB, такие как DateSerial: вместо этого используйте конструктор DateTime:

dtp2.Value = New DateTime(dtp2.Value.Year, dtp2.Value.Month, 1).AddMonths(1).AddDays(-1)


qulaitks

Спасибо OriginalGriff за быстрый ответ. Я попробовал данный код, но все еще получаю тот же массаж ошибок.

с уважением

OriginalGriff

Поэтому используйте отладчик и узнайте, что именно держит aht dtp2 ... код работает здесь, поэтому он должен быть связан с данными, а у нас нет доступа к ним!

zamanipour

возможно, проблема возникает из-за начального значения dtp2.Value. проверить действительной или использовать действительную дату испытания, например : 'м = новый объект datetime()' а потом: 'dtp2.Значение = новый объект datetime(м. Года, М. Месяц, 1).AddMonths(1).AddDays(-1)'

qulaitks

доброе утро

Я использую DTP , который имеет формат (МММ-гггг) для фильтрации DGV, приведенный выше код отлично работает , если дни месяцев одинаковы, как только дни месяцев меняются, скажем, с 31 на 30 , я получаю массаж erroe. Извините, если я не все правильно объяснил.

с уважением