2 / 2 / 0
Регистрация: 06.04.2017
Сообщений: 16
1

Как проверить dateTimePicker чтобы на сегодняшний день дата была на 10 лет больше?

30.10.2018, 14:06. Показов 3629. Ответов 3
Метки нет (Все метки)

Нужно проверить условие чтобы дата из dateTimePicker была на 10 лет больше установленной. Например, пользователь выбирает свою дату рождения из dateTimePicker и ему должно быть минимум 10 лет.
C#
1
if (dateTimePicker1.Value < DateTime.Now) MessageBox.Show("Вам меньше 10 лет");
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2018, 14:06
Ответы с готовыми решениями:

Сколько лет на сегодняшний день
Напишите макрос, который сообщает пользователю, сколько ему лет на сегодняшний день. Свою дату...

Посчитать количество проработавших на сегодняшний день не менее 3 лет
Дан массив данных о работающих в фирме: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата...

Простой запрос (Именинники, дата рождения на сегодняшний день)
Всем доброго времени суток. Столкнулся с проблемой при создании запроса. БД: Таблица персонал....

Напечатать данные тех работников, кто на сегодняшний день проработал уже не менее 5 лет
Помогите решить, прошу отнестись с уважением Дан массив данных о работающих в фирме: фамилия,...

3
Эксперт .NET
16658 / 12425 / 3265
Регистрация: 17.09.2011
Сообщений: 20,641
30.10.2018, 14:24 2
Цитата Сообщение от Kirey1488 Посмотреть сообщение
Например, пользователь выбирает свою дату рождения из dateTimePicker и ему должно быть минимум 10 лет.
Наивный вариант:
C#
1
2
3
4
5
var today = DateTime.Today;
var birthday = dateTimePicker.Value;
int age = today.Year - birthday.Year;
if (birthday > today.AddYears(-age))
   age--;
Однако, при реальной работе с датами или при проверке больших возрастов все становится намного сложнее из-за наличия календарных нюансов, которые DateTime не учитывает.
0
554 / 531 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
30.10.2018, 14:28 3
Лучший ответ Сообщение было отмечено Kirey1488 как решение

Решение

Цитата Сообщение от Kirey1488 Посмотреть сообщение
Нужно проверить условие чтобы дата из dateTimePicker была на 10 лет больше установленной
Можно так:
C#
1
2
if(dateTimePicker1.Value.AddYears(10)>DateTime.Now)
    MessageBox.Show("Вам меньше 10 лет");
0
771 / 461 / 189
Регистрация: 08.10.2018
Сообщений: 1,449
Записей в блоге: 11
30.10.2018, 14:29 4
Kirey1488, вот ещё вариант:
C#
1
2
3
4
5
6
var zeroTime = new DateTime(1, 1, 1);
var olddate = dateTimePicker1.Value;
var curdate = DateTime.Now.ToLocalTime();
var span = curdate - olddate;
var years = (zeroTime + span).Year - 1;
if ( years < 10) MessageBox.Show("Вам меньше 10 лет");
Алгоритм взял из Подсчитайте год, месяц и день между двумя датами в C#
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2018, 14:29
Помогаю со студенческими работами здесь

Использование структур. Напечатать сотрудников которые на сегодняшний день проработали в фирме не менее трех лет
Известна информация о 20 сотрудниках фирмы: фамилия, имя, отчество, адрес, и дата поступления на...

Во второй массив записать данные только тех из них, кто на сегодняшний день проработал не менее 5 лет
1.Дан массив о работающих в фирме: фамилия, имя, отчество, адреч ( улица, дом, квартира) и дата...

Структура: Напечатать ФИО и адрес сотрудников, которые на сегодняшний день проработали в фирме не менее трех лет.
Задачка проста, но сложности у меня все же возникли. Известна информация о 20 сотрудниках фирмы:...

Во второй массив записать данные только о тех рабочих, кто на сегодняшний день проработал не менее 5 лет
Дан массив данных о работающих в фирме: фамилия, имя, отчество, адрес (улица,дом,квартира) и дата...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru