Друзья, здравствуйте. От 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
В данной лабораторной работе я научился создавать программы, использующие алгоритмы разветвляющихся структур.
Похожие материалы
- Создание программ, использующих алгоритмы разветвляющихся структур (Создание программы для вычисления месячного расхода электроэнергии)
- Создание программ, содержащих в своей структуре процедуры или функции
- Создание программы для обработки данных, хранящихся в двумерном массиве
Источник: vunivere.ru