![]() |
Расчет возраста человека в годах на C#Иногда вам захочется вычислить возраст человека или объекта и вернуть результат с указанием возраста в годах. Этот расчет прост в выполнении, если использовать свойства структуры DateTime NET framework и основные арифметические операторы. Расчет возраста Это может быть полезно для расчета возраста человека или объекта в годах. Это может быть по простым причинам, таким как отображение возраста в программном приложении или веб-сайте. Возможно, что продукты, которые продает компания, ограничены по возрасту и что по закону необходимо знать возраст клиента. Вычисление возраста очень просто с использованием свойств структуры DateTime и основных арифметических операторов. Чтобы рассчитать возраст, мы должны сначала определить разницу в годах между датой рождения человека и текущей датой. Затем мы можем сравнить части месяца и дня двух дат, чтобы определить, следует ли скорректировать количество лет на единицу. 29 февраля Есть люди, родившиеся 29 февраля в високосный год. Это необходимо учитывать при расчете возраста в течение невисокосного года. Считается, что человеку, родившемуся 29 февраля, 28 февраля исполняется восемнадцать лет. Многие алгоритмы определения возраста человека не учитывают этот особый случай и неверно рассчитывают их возраст как семнадцать лет до 1 марта. Метод, описанный в этой статье, обеспечивает такую возможность. Создание метода Мы создадим единый метод, который принимает параметр, содержащий дату рождения человека, и возвращает целое число, содержащее возраст в годах. Метод выполняет три ключевых действия:
private static int CalculateAge(DateTime birthDate) { DateTime today = DateTime.Today; int age = today.Year - birthDate.Year; if (birthDate.AddYears(age) > today) { age--; } return age; }Выполнение метода Мы можем протестировать этот метод с помощью нескольких строк кода следующим образом. Попробуйте изменить дату рождения, чтобы проверить крайние случаи. DateTime birthDate = new DateTime(1992, 8, 3); int age = CalculateAge(birthDate); Console.WriteLine("{0}", age); // Выведет "29" ![]() Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда. ![]() Читайте также: |
Мои услуги
|
© upread.ru 2013-2023 При перепечатке активная ссылка на сайт обязательна. |