VB.net - 25 - DateTimePicker (календарь)
Данная статья посвящена еще одному элементу управления - DateTimePicker - календарь с функцией учета времени.
Это очень удобный инструмент, для выбора даты. тк он не требует дополнительных проверок для учета кол-ва дней в определенном месяце, високосность года и определение дней недели. Все это уже реализовано в самом элементе.
Рассмотрим его свойства:
- прокрутка или календарь
На мой взгляд, календарь удобней, да и к тому же, ставя курсор на значение дня, месяца или года, нажимая клавишу вверх или вниз - мы реализуем возможность такой же прокрутки.
- Следующие свойство - это отображение даты. можно выбрать укороченный вариант, полный, время или свой.
своя - для ее настройки идем в свойство кастом - и ставим свои значения.
- конечные даты. по умолчанию календарь идет от 1753 года до 9999. Если вам необходима дата в более узких диапазонах - меняем значения.
Со свойствами мы разобрались, теперь перейдем к использованию календаря.
'1 значение в календаре
TextBox1.Text = DateTimePicker1.Value
Выводится полная запись даты и времени.
В данном варианте выводится тот текст, который мы выбрали в настройках. это может быть короткая запись, полная или наш вариант.
Такой вариант удобно использовать, если дата нам нужна как текст, а не как числа.
'2 текст в календаре
TextBox1.Text += DateTimePicker1.Text
Если же нам нужны значения даты как числа, то используем такую запись.
'3 определенное значение в календаре - наш вариант вывода даты.
TextBox1.Text = Format(DateTimePicker1.Value, "dd.MM yyyy")
'Вывод части даты, например короткая запись года.
TextBox1.Text = Format(DateTimePicker1.Value, "yy")
Полный список всех вариантов форматирования даты можно посмотреть в ЭТОМ видео или статье.
А теперь напишем программу для определения количества дней между 2 датами.
'4 количество дней между датами
Dim d1 As New Date(Format(DateTimePicker1.Value, "yyyy"), _
Format(DateTimePicker1.Value, "MM"), _
Format(DateTimePicker1.Value, "dd"))
Dim d2 As Date = Now
TextBox1.Text = DateDiff(DateInterval.Day, d1, d2)
Если даты одинаковые - колво дней = 0, если 1 дата меньше - то колво дней - число положительное, если наоборот - отрицательное.
Используя DateInterval - мы можем вычислять не только колво дней, но и недель, месяцев, лет...
TextBox1.Text = DateDiff(DateInterval.Weekday, d1, d2)
На сегодня это все.
Смотреть видео
В начало
|