Estou tentando calcular a idade de uma pessoa usando o Moment.js , mas estou descobrindo que o método fromNow útil, de outra forma, completa os anos. Por exemplo, se hoje for 27/12/2012 e a data de nascimento da pessoa for 26/02/1978, moment("02/26/1978", "MM/DD/YYYY").fromNow()
retornará 'há 35 anos'. Como posso fazer com que o Moment.js ignore o número de meses e simplesmente retorne o número de anos (ou seja, 34) desde a data?
javascript
date
momentjs
aknuds1
fonte
fonte
Parece haver uma função de diferença que aceita intervalos de tempo para usar, além de uma opção para não arredondar o resultado. Então, algo como
Eu não tentei isso e não estou completamente familiarizado com o momento, mas parece que isso deve obter o que você deseja (sem ter que redefinir o mês).
fonte
age = moment().diff(birthDate, 'years')
.Eu achei que funcionaria para redefinir o mês para janeiro para as duas datas (a data fornecida e o presente):
fonte
Este método é fácil e poderoso.
O valor é uma data e "DD-MM-AAAA" é a máscara da data.
fonte
Tente o seguinte:
Explicação:
Recebemos uma string assim: '23 dias atrás'. Divida-o em array: ['23', 'days', 'ago'] e depois pegue o primeiro item '23'.
fonte
Este método funciona para mim. Ele está verificando se a pessoa fez aniversário este ano e subtrai um ano caso contrário.
Edit: Primeira versão não funcionou perfeitamente. O atualizado deve
fonte
cal 1752
ver por queSe você não quiser usar nenhum módulo para cálculo de idade
fonte
Quando você deseja mostrar anos e os dias restantes:
fonte
Eu prefiro esse pequeno método.
fonte