X-Git-Url: http://git.roojs.org/?p=roojs1;a=blobdiff_plain;f=Date.js;h=0470095f7fb4ba402235a965f1a88894cae5824c;hp=fffb3b71d1840e9f5ae39fc2627dfe7fa91b810d;hb=c47e24f9bde6e0a7a5994c0024daa13e7e4df117;hpb=18480d449e889bafc18e683dca94b2ff4729dbd4 diff --git a/Date.js b/Date.js index fffb3b71d1..0470095f7f 100644 --- a/Date.js +++ b/Date.js @@ -104,12 +104,35 @@ document.write(dt.format(Date.patterns.ShortDate)); /** Returns the number of milliseconds between this date and date @param {Date} date (optional) Defaults to now - @return {Number} The diff in milliseconds + @param {String} interval (optional) Default Date.MILLI, A valid date interval enum value (eg. Date.DAY) + @return {Number} The diff in milliseconds or units of interval @member Date getElapsed */ -Date.prototype.getElapsed = function(date) { - return Math.abs((date || new Date()).getTime()-this.getTime()); +Date.prototype.getElapsed = function(date, interval) +{ + date = date || new Date(); + var ret = Math.abs(date.getTime()-this.getTime()); + switch (interval) { + + case Date.SECOND: + return Math.floor(ret / (1000)); + case Date.MINUTE: + return Math.floor(ret / (1000*60)); + case Date.HOUR: + return Math.floor(ret / (1000*60*60)); + case Date.DAY: + return Math.floor(ret / (1000*60*60*24)); + case Date.MONTH: // this does not give exact number...?? + return ((date.format("Y") - this.format("Y")) * 12) + (date.format("m") - this.format("m")); + case Date.YEAR: // this does not give exact number...?? + return (date.format("Y") - this.format("Y")); + + case Date.MILLI: + default: + return ret; + } }; + // was in date file..