-2

I need the difference between two dates in javascript, this is my date format 24-05-2018, and I need no of year, no of months, no of days

2 Answers2

2

Use moment.js

It is much easy with this.

var date1 = moment('24-05-2018','DD-MM-YYYY');
var date2   = moment('24-05-2019','DD-MM-YYYY');

var years = date2.diff(date1, 'year');
date1.add(years, 'years');

var months = date2.diff(date1, 'months');
date1.add(months, 'months');

var days = date2.diff(date1, 'days');
menaka
  • 1,045
  • 1
  • 12
  • 30
0
date1 = new Date(date1.getUTCFullYear(), date1.getUTCMonth(), date1.getUTCDate(), date1.getUTCHours(), date1.getUTCMinutes(), date1.getUTCSeconds());
date2 = new Date(date2.getUTCFullYear(), date2.getUTCMonth(), date2.getUTCDate(), date2.getUTCHours(), date2.getUTCMinutes(), date2.getUTCSeconds());

let diff_ms = date2.getTime() - date1.getTime();
let diff = Math.round(diff_ms / (1000 * 60 * 60 * 24));

This will give you difference in no of days. You can then deduce year, month, days.

Harun Or Rashid
  • 5,589
  • 1
  • 19
  • 21