Ich versuche, das Alter einer Person mit Moment.js zu berechnen, stelle jedoch fest, dass die ansonsten nützliche fromNow- Methode die Jahre aufrundet . Wenn beispielsweise heute der 27.12.2012 ist und das Geburtsdatum der Person der 26.02.1978 ist, wird "vor moment("02/26/1978", "MM/DD/YYYY").fromNow()
35 Jahren" zurückgegeben. Wie kann ich Moment.js dazu bringen, die Anzahl der Monate zu ignorieren und einfach die Anzahl der Jahre (dh 34) seit dem Datum zurückzugeben?
quelle
Es scheint eine sein Differenzfunktion , die Zeitintervalle sowie eine Option , um zu verwenden , akzeptiert nicht um das Ergebnis. Also so etwas wie
Ich habe dies nicht ausprobiert und bin mit dem Moment nicht ganz vertraut, aber es scheint, dass dies das bekommen sollte, was Sie wollen (ohne den Monat zurücksetzen zu müssen).
quelle
age = moment().diff(birthDate, 'years')
.Ich fand, dass es funktionieren würde, den Monat für beide Daten (das angegebene Datum und das Geschenk) auf Januar zurückzusetzen:
quelle
Diese Methode ist einfach und leistungsstark.
Wert ist ein Datum und "TT-MM-JJJJ" ist die Maske des Datums.
quelle
Versuche dies:
Erläuterung:
Wir erhalten einen String wie diesen: 'vor 23 Tagen'. Teilen Sie es in ein Array auf: ['23', 'Tage', 'vor'] und nehmen Sie dann das erste Element '23'.
quelle
Diese Methode funktioniert bei mir. Es wird überprüft, ob die Person dieses Jahr Geburtstag hat, und es wird ein Jahr abgezogen, wenn dies nicht der Fall ist.
Edit: Die erste Version hat nicht ganz perfekt funktioniert. Das aktualisierte sollte
quelle
cal 1752
, warumWenn Sie kein Modul zur Altersberechnung verwenden möchten
quelle
Wenn Sie Jahre und die verbleibenden Tage anzeigen möchten:
quelle
Ich bevorzuge diese kleine Methode.
quelle