#javascript #html #css
Есть такой код, который считает возраст: var today = new Date(); var yyyy = today.getFullYear(); var Name = question2[1].FIO + '(' + (yyyy - question2[1].Age)+')'; Но вот в чем задачка, нужно дописывать, лет, год и т.д Как это реализовать?
Ответы
Ответ 1
Смотрим по предпоследней цифре: если 1 - лет иначе по последней цифре: 1 - год, 2-4 года, остальное - лет. var years = [ 1822,1922,1948,1990,1995,1996,2008,2014,2016 ] years.forEach(function(year){ let thisYear = new Date().getFullYear(); let yearsOld = thisYear - year; document.write(yearsOld + " " + getYearAddition(yearsOld) + "
"); }); function getYearAddition(year) { let preLastDigit = Math.floor(year % 100 / 10); if (preLastDigit === 1) { return "лет"; } let lastDigit = year % 10; switch (lastDigit) { case 1: return "год"; case 2: case 3: case 4: return "года"; default: return "лет"; } }Ответ 2
Решение с moment.js Durations и i18n var years = [ 1822,1922,1948,1990,1995,1996,2008,2014,2016 ] years.forEach(function(year){ let yearsOld = moment().diff(moment([year]), 'year'); let yearsOldHumanized = moment.duration(yearsOld, 'years').humanize(); document.write(yearsOldHumanized + "
"); });
Комментариев нет:
Отправить комментарий