powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Возраст человека
4 сообщений из 4, страница 1 из 1
Возраст человека
    #32611422
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть текущая дата и дата рождения.
Как посчитать на C# возраст человека в годах?
...
Рейтинг: 0 / 0
Возраст человека
    #32611434
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имею ввиду короче (и возможно правильнее), чем так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
DateTime birth = DateTime.Parse("1970-04-05");
DateTime now = DateTime.Parse("2004-04-04");
int age = now.Year - birth.Year;
if (birth.DayOfYear > now.DayOfYear)
{
    age --;
 
}
...
Рейтинг: 0 / 0
Возраст человека
    #32611827
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю как проще, но конструкция
if (birth.DayOfYear > now.DayOfYear) age--;
при високосном годе (одна из дат) даст не верный результат
...
Рейтинг: 0 / 0
Возраст человека
    #32611904
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, действительно, правильнее можно,

Код: plaintext
1.
2.
3.
4.
5.
int age = now.Year - birth.Year;
if (birth.Month > now.Month || (birth.Month == now.Month && birth.Day > now.Day))
{
	age --;
 
}

Утро вечера мудренее...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Возраст человека
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]