Я пытаюсь вычислить возраст человека с помощью Moment.js , но обнаружил, что полезный в остальном метод fromNow округляет годы. Например, если сегодня 27.12.2012, а дата рождения человека - 26.02.1978, moment("02/26/1978", "MM/DD/YYYY").fromNow()
возвращается "35 лет назад". Как я могу заставить Moment.js игнорировать количество месяцев и просто возвращать количество лет (т.е. 34) с даты?
javascript
date
momentjs
aknuds1
источник
источник
Похоже, есть функция разницы, которая принимает временные интервалы для использования, а также возможность не округлять результат. Итак, что-то вроде
Я не пробовал это и не совсем знаком с моментом, но похоже, что он должен получить то, что вы хотите (без необходимости сбрасывать месяц).
источник
age = moment().diff(birthDate, 'years')
.Я обнаружил, что можно сбросить месяц до января для обеих дат (указанная дата и настоящее):
источник
Это простой и мощный метод.
Значение - это дата, а «ДД-ММ-ГГГГ» - это маска даты.
источник
Попробуй это:
Объяснение:
Получаем примерно такую строку: «23 дня назад». Разделите его на массив: ['23', 'days', 'ago'], а затем возьмите первый элемент '23'.
источник
У меня этот метод работает. Он проверяет, был ли у человека день рождения в этом году, и вычитает один год в противном случае.
Изменить: первая версия не совсем работала. Обновленный должен
источник
cal 1752
чтобы понять, почемуЕсли вы не хотите использовать какой-либо модуль для расчета возраста
источник
Если вы хотите показать годы и оставшиеся дни:
источник
Я предпочитаю этот небольшой метод.
источник