Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Возраст. Помогите пожалуйста дополнить скрипт (https://javascript.ru/forum/misc/73659-vozrast-pomogite-pozhalujjsta-dopolnit-skript.html)

Vadim Zhizherin 04.05.2018 18:55

Возраст. Помогите пожалуйста дополнить скрипт
 
Дополните скрипт, рассчитывающий с помощью функции возраст пользователя по введенной дате рождения.

Добавьте возможность пользовательского ввода даты рождения (день, месяц, год).

Сформируйте в функции возвращаемое значение — строку вида «Вам … лет». В зависимости от количества лет и месяцев обеспечить правильное склонение («год», «года», «лет»).

Примечание. Последнюю цифру числа можно определить, получив остаток от деления этого числа на 10.

Дополнительно* Добавить вывод количества месяцев.
Вот этот скрипт дополнить:

function birthDateToAge(b) {
var n = new Date(),
b = new Date(b),
age = n.getFullYear() - b.getFullYear();
var n_2000 = n.setFullYear(2000); // приводим сегодняшнюю дату к 2000 году
var b_2000 = b.setFullYear(2000); //приводим день рождения к 2000 году
// если сегодняшняя дата меньше, чем день рождения (дня рождения еще не было), вычитаем 1
if (n_2000 < b_2000)
age -= 1;
return age;
}
document.write(birthDateToAge("2004-07-15"));

var n_m = n.getMonth();
var b_m = b.getMonth();
// если дня рождения еще не было
if (n_m < b_m){
age -= 1;
alert (12 -(b_m - n_m));
}
else
alert (n_m - b_m);

рони 04.05.2018 19:44

Vadim Zhizherin,
http://javascript.ru/forum/project/2...ojj-formy.html

https://javascript.ru/forum/misc/128...html#post77642

Vadim Zhizherin 04.05.2018 21:06

что ты мне скинул? ))
 
Там вообще другое задание же

рони 04.05.2018 21:14

Цитата:

Сообщение от Vadim Zhizherin
что ты мне скинул? ))

Цитата:

Сообщение от Vadim Zhizherin
Сформируйте в функции возвращаемое значение — строку вида «Вам … лет». В зависимости от количества лет и месяцев обеспечить правильное склонение («год», «года», «лет»).

:-?

j0hnik 04.05.2018 21:19

fn=(n, arr) => n+" "+arr[(n%100>4 && n%100<20)?2:[2, 0, 1, 1, 1, 2][(n%10<5)?n%10:5]];
var arr1 = ['год', 'года', 'лет'];
alert(fn(100, arr1));


функция склонения

Vadim Zhizherin 04.05.2018 21:24

спасибо


Часовой пояс GMT +3, время: 16:20.