Как написать программу для определения возраста

Друзья, здравствуйте. От API партнёров приходит дата рождения пользователя в формате DD.MM.YYYY или DD.MM (если год рождения скрыт). На основе этих данных нужно определить возраст человека. Помогите с функцией. Вероятно подошло бы что-то вроде этого, но new Date() не воспринимает дату в формате DD.MM.YYYY

function get_current_age(date) < return ((new Date().getTime() — new Date(date)) / (24 * 3600 * 365.25 * 1000)) | 0; >
Отслеживать
задан 11 окт 2016 в 13:14
137 1 1 золотой знак 1 1 серебряный знак 7 7 бронзовых знаков
есть уже готовые библиотеки, которые реализовали это типа moment, или обязательно нужно что то свое?
11 окт 2016 в 13:24
библиотеки не желательно использовать
11 окт 2016 в 13:25
Date.TryParse() пробовали? ссылка тут
11 окт 2016 в 13:26

В принципи можно просто добавить в начало приведённой функции проверку: var d = date.split(‘.’); if ( d[2] != «undefined» ) date = d[2]+’.’+d[1]+’.’+d[0] else return false; Но какой-то говнокод получается.

11 окт 2016 в 13:30
11 окт 2016 в 13:50

6 ответов 6

Сортировка: Сброс на вариант по умолчанию

Пишем программу на python для вычета вашего возраста

Долго думал как проще реализовать. Пришёл к такой схеме: определяем текущую дату, определяем дату рождения, определяем день рождения в текущем году. Вычитаем из текущего года год рождения. Узнаём был ли уже ДР или нет в этом году. Если ещё нет, то вычитаем один год из полученного результата.

Источник: ru.stackoverflow.com

Расчет возраста человека в годах на C#

Иногда вам захочется вычислить возраст человека или объекта и вернуть результат с указанием возраста в годах. Этот расчет прост в выполнении, если использовать свойства структуры DateTime NET framework и основные арифметические операторы.

Читайте также:
Касперский не дает установить программу что делать

Расчет возраста

Это может быть полезно для расчета возраста человека или объекта в годах. Это может быть по простым причинам, таким как отображение возраста в программном приложении или веб-сайте. Возможно, что продукты, которые продает компания, ограничены по возрасту и что по закону необходимо знать возраст клиента. Вычисление возраста очень просто с использованием свойств структуры DateTime и основных арифметических операторов.

Чтобы рассчитать возраст, мы должны сначала определить разницу в годах между датой рождения человека и текущей датой. Затем мы можем сравнить части месяца и дня двух дат, чтобы определить, следует ли скорректировать количество лет на единицу.

Есть люди, родившиеся 29 февраля в високосный год. Это необходимо учитывать при расчете возраста в течение невисокосного года. Считается, что человеку, родившемуся 29 февраля, 28 февраля исполняется восемнадцать лет. Многие алгоритмы определения возраста человека не учитывают этот особый случай и неверно рассчитывают их возраст как семнадцать лет до 1 марта. Метод, описанный в этой статье, обеспечивает такую возможность.

Решение задачи «Возраст Человека» по теме «Функция input()»

Создание метода

  • Текущая дата присваивается переменной. Поскольку будет более одной операции, связанной с текущей датой, мы сохраним дату, чтобы избежать очень редких случаев, когда она может измениться во время выполнения метода.
  • Будет получена разница между частями года текущей даты и датой рождения. Это будет либо правильный возраст, либо на один год больше, чем правильный возраст.
  • Количество лет, рассчитанное на предыдущем шаге, будет добавлено к дате рождения. Если результирующая дата после текущей даты, мы знаем, что количество лет слишком велико. В этом случае мы вычтем единицу, чтобы определить возраст.

private static int CalculateAge(DateTime birthDate) < DateTime today = DateTime.Today; int age = today.Year — birthDate.Year; if (birthDate.AddYears(age) >today) < age—; >return age; >

Читайте также:
По какому признаку вирус был отнесен к компьютерным программам

Выполнение метода

Создание программ, использующих алгоритмы разветвляющихся структур (Создание алгоритма и программы для определения возраста человека в годах)

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

а) Непрерывное производство ежесуточно расходует W кВт/ч электроэнергии. Для заданного месяца текущего года вычислить общий расход электроэнергии R.

б) Составить алгоритм и программу, которая для натурального числа n, определяющего возраст человека в годах, выводит на экран сообщение «Возраст человека n лет (год, года).

в) Составить алгоритм и программу решения задачи. Вычислить:

ln(x + y 2 ), если x и y — положительные

y = ln(|x| + |y|), если x и y – отрицательные

Блок-схема: знак завершения: Начало

а)

Блок-схема: альтернативный процесс: Начало

б)

Возраст человека в годах

Введите возраст человека

N

Возраст человека n лет N

Вам n год Вам n года Вам n лет

в)

y

const god = 2002;

var W,R:real; j:word;

writeln (‘Программа вычисления расхода электроэнергии’);

wtite (‘Введите номер месяца j = ‘);

write (‘Введите суточный расход электроэнергии W = ‘);

1, 3, 5, 7, 8, 10, 12: R:=31*W

4, 6, 9, 11: R=30*W; 2: if god mod 4=0 then R:=29*W else R:=28*W

else writeln (‘Ошибочный номер месяца’)

write (‘Для выхода нажмите Enter’);

write (‘Введите возраст’);

case p of 1: writeln (‘Вам’,n,’год’);

2,3,4: writeln (‘Вам’,n,’года’);

else writeln (‘Вам’,n,’лет’);

writeln (‘Нажмите Enter’);

writeln (‘Введите x,y’);

if (x>0) and (y>0) then y:=ln(x+sqr(y))

а) Если j=1, W=100, тогда R = 3100 кВт/ч.

б) Если n=21, то «Вам 21 год».

в) Если x=2, y=1, тогда y = 1.098

x=-1, y=-3, тогда y = 1,386

x=-1, y=3, тогда y = 0

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

Похожие материалы

  • Создание программ, использующих алгоритмы разветвляющихся структур (Создание программы для вычисления месячного расхода электроэнергии)
  • Создание программ, содержащих в своей структуре процедуры или функции
  • Создание программы для обработки данных, хранящихся в двумерном массиве
Читайте также:
Не могу открыть программу 1 с

Источник: vunivere.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru