aknuds1 aknuds1 - 2 months ago 6
Javascript Question

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)?

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"
Comments