Example 1: moment date difference in days
moment(new Date()).diff(moment(new Date()), 'days') // 0
Example 2: moment js date diff
var now = "04/09/2013 15:00:00";
var then = "02/09/2013 14:20:30";
var ms = moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss"));
var d = moment.duration(ms);
var s = d.format("hh:mm:ss");
// outputs: "48:39:30"
Example 3: compare two dates using moment
moment('2010-10-20').isAfter('2010-01-01', 'year'); // false
moment('2010-10-20').isAfter('2009-12-31', 'year'); // true
Example 4: moment js between two dates
// moment version => 2.13.0.
const start = moment().subtract(1, 'days');
const end = new Date();
const actual = moment().subtract(1, 'hours');
const test = moment(actual).isBetween(start, end);
console.log(test);
// moment version < 2.13.0.
var startDate = new Date(2013, 1, 12)
, endDate = new Date(2013, 1, 15)
, date = new Date(2013, 2, 15)
, range = moment().range(startDate, endDate);
range.contains(date);
Example 5: moment js difference between two dates
var admission = moment('{date1}', 'DD-MM-YYYY');
var discharge = moment('{date2}', 'DD-MM-YYYY');
discharge.diff(admission, 'days');
Example 6: moment js date between two dates
target.isBetween(start, finish, 'days', '()') // default exclusive
target.isBetween(start, finish, 'days', '(]') // right inclusive
target.isBetween(start, finish, 'days', '[)') // left inclusive
target.isBetween(start, finish, 'days', '[]') // all inclusive