Skip to content
Advertisement

Moment.js – how do I get the number of years since a date, not rounded up?

I’m trying to calculate a person’s age using Moment.js, but I’m finding that the otherwise useful fromNow method rounds up the years. For instance, if today is 12/27/2012 and the person’s birth date is 02/26/1978, moment("02/26/1978", "MM/DD/YYYY").fromNow() returns ’35 years ago’. How can I make Moment.js ignore the number of months, and simply return the number of years (i.e. 34) since the date?

Advertisement

Answer

I found that it would work to reset the month to January for both dates (the provided date and the present):

> moment("02/26/1978", "MM/DD/YYYY").month(0).from(moment().month(0))
"34 years ago"
User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement