Nodejs Date Different Get dateDiffInDays(a,b)

Here you can find the source of dateDiffInDays(a,b)

Method Source Code

// http://www.webdeveloper.com/forum/showthread.php?67608-Date()-format-as-mm-dd-yyyy&s=ddc9e169dcb757be5b6fca0b4c3b03ad&p=376561#post376561

Date.prototype.toMMDDYYYYString = Date.prototype.toMMDDYYYYString || function () {return isNaN (this) ? 'NaN' : [this.getMonth() > 8 ? this.getMonth() + 1 : '0' +  (this.getMonth() + 1), this.getDate() > 9 ? this.getDate() : '0' + this.getDate(),  this.getFullYear()].join('/')};


// from Shyam Habarakada, http://stackoverflow.com/a/15289883/626369
// a and b are javascript Date objects
Date.dateDiffInDays = Date.dateDiffInDays || function (a, b) {
  var _MS_PER_DAY = 1000 * 60 * 60 * 24;
  
  // Discard the time and time-zone information.
  var utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());
  var utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());

  return Math.floor((utc2 - utc1) / _MS_PER_DAY);
};

Related

  1. dateDiff(date)
    Date.prototype.dateDiff = function(date) {
        return ((this - new Date(date)) / 1000 / 60 / 60 / 24) + 1;
    };
    
  2. dateDiff(date)
    Date.prototype.dateDiff = function(date){
        var left = new Date(this.getFullYear(),this.getMonth(),this.getDate());
        var right = new Date(date.getFullYear(),date.getMonth(),date.getDate());
        return parseInt((left - right)/1000/60/60/24);
    };
    
  3. dateDiff(date,flag)
    Date.prototype.dateDiff = function (date,flag) {
         var msCount;
         var diff = this.getTime() - date.getTime();
         switch (flag) {
             case "ms":
                 msCount = 1;
                 break;
             case "s":
                 msCount = 1000;
    ...
    
  4. dateDiff(interval, objDate2)
    Date.prototype.dateDiff = function (interval, objDate2) {
        var d = this, i = {}, t = d.getTime(), t2 = objDate2.getTime();
        i['y'] = objDate2.getFullYear() - d.getFullYear();
        i['q'] = i['y'] * 4 + Math.floor(objDate2.getMonth() / 4) - Math.floor(d.getMonth() / 4);
        i['m'] = i['y'] * 12 + objDate2.getMonth() - d.getMonth();
        i['ms'] = objDate2.getTime() - d.getTime();
        i['w'] = Math.floor((t2 + 345600000) / (604800000)) - Math.floor((t + 345600000) / (604800000));
        i['d'] = Math.floor(t2 / 86400000) - Math.floor(t / 86400000);
        i['h'] = Math.floor(t2 / 3600000) - Math.floor(t / 3600000);
    ...
    
  5. dateDiff(otherDate)
    Date.prototype.dateDiff = function (otherDate) {
        return (this.getTime() - otherDate.getTime()) / 1000 / 60 / 60 / 24;
    };