J'essaie de calculer l'âge d'une personne en utilisant Moment.js , mais je trouve que la méthode fromNow par ailleurs utile arrondit les années. Par exemple, si aujourd'hui est le 27/12/2012 et que la date de naissance de la personne est le 26/02/1978, moment("02/26/1978", "MM/DD/YYYY").fromNow()
renvoie «il y a 35 ans». Comment puis-je faire en sorte que Moment.js ignore le nombre de mois et renvoie simplement le nombre d'années (c'est-à-dire 34) depuis la date?
la source
Il semble y avoir une fonction de différence qui accepte les intervalles de temps à utiliser ainsi qu'une option pour ne pas arrondir le résultat. Alors, quelque chose comme
Je n'ai pas essayé cela, et je ne connais pas complètement le moment, mais il semble que cela devrait obtenir ce que vous voulez (sans avoir à réinitialiser le mois).
la source
age = moment().diff(birthDate, 'years')
.J'ai trouvé que cela fonctionnerait de réinitialiser le mois à janvier pour les deux dates (la date fournie et le présent):
la source
Cette méthode est simple et puissante.
La valeur est une date et "JJ-MM-AAAA" est le masque de la date.
la source
Essaye ça:
Explication:
Nous recevons une chaîne quelque chose comme ceci: "il y a 23 jours". Divisez-le en tableau: ['23', 'days', 'ago'], puis prenez le premier élément '23'.
la source
Cette méthode fonctionne pour moi. Il vérifie si la personne a eu son anniversaire cette année et soustrait un an dans le cas contraire.
Edit: La première version ne fonctionnait pas parfaitement. La mise à jour devrait
la source
cal 1752
pour voir pourquoiSi vous ne souhaitez utiliser aucun module pour le calcul de l'âge
la source
Lorsque vous souhaitez afficher les années et les jours restants:
la source
Je préfère cette petite méthode.
la source