You can add, subtract and do many other things with the built-in JavaScript Date . powerful enough for most of your needs. If you use it, you save kilobytes of page size and make the code understandable to everyone (perhaps 90% of JavaScript developers have never used any plugins to calculate dates).
What I hate about a Date object is the lack of inline formatted output.
For example, you cannot specify a localized week or month name without parsing strings. Then datejs comes to your aid.
What can a Date object do?
var msMinute = 60*1000, msDay = 60*60*24*1000, a = new Date(2012, 2, 12, 23, 59, 59), b = new Date("2013 march 12"), c = new Date(), d = new Date(c.getTime() + msDay - msMinute); console.log(a.getUTCHours()); console.log(typeof (b - a + 1000)); console.log(Math.floor((b - a) / msDay) + ' full days between'); console.log(Math.floor(((b - a) % msDay) / msMinute) + ' full minutes between'); console.log('Today is ' + c.getDay() + ' day of week'); console.log('Tomorrow is ' + d.getDay() + ' day of week'); console.log('Your timezone offset is ' + c.getTimezoneOffset() + ' minutes');
Easy to calculate days before Christmas
And, sometimes the joke has more truth, then you might expect 
source share