Estoy tratando de calcular la edad de una persona usando Moment.js , pero estoy descubriendo que el método útil de Now ahora redondea los años. Por ejemplo, si hoy es 27/12/2012 y la fecha de nacimiento de la persona es 26/02/1978, moment("02/26/1978", "MM/DD/YYYY").fromNow()
regresa '35 años atrás '. ¿Cómo puedo hacer que Moment.js ignore el número de meses y simplemente devuelva el número de años (es decir, 34) desde la fecha?
javascript
date
momentjs
aknuds1
fuente
fuente
Parece haber una función de diferencia que acepta intervalos de tiempo para usar, así como una opción para no redondear el resultado. Entonces, algo como
No he intentado esto, y no estoy completamente familiarizado con el momento, pero parece que esto debería obtener lo que quieres (sin tener que reiniciar el mes).
fuente
age = moment().diff(birthDate, 'years')
.Descubrí que funcionaría restablecer el mes a enero para ambas fechas (la fecha proporcionada y el presente):
fuente
Este método es fácil y poderoso.
El valor es una fecha y "DD-MM-AAAA" es la máscara de la fecha.
fuente
Prueba esto:
Explicación:
Recibimos una cadena como esta: "hace 23 días". Dividirlo en una matriz: ['23', 'días', 'ago'] y luego tomar el primer elemento '23'.
fuente
Este método me funciona. Está verificando si la persona ha cumplido años este año y, si no, resta un año.
Editar: La primera versión no funcionó perfectamente. El actualizado debería
fuente
cal 1752
para ver por quéSi no desea utilizar ningún módulo para calcular la edad
fuente
Cuando quieras mostrar años y los días restantes:
fuente
Prefiero este pequeño método.
fuente