Adding hours to JavaScript Date object?

It amazes me that JavaScript’s Date object does not implement an add function of any kind.

I simply want a function that can do this:

var now =;
var fourHoursLater = now.addHours(4);

function Date.prototype.addHours(h) {

   // how do I implement this?  


I would simply like some pointers in a direction.

  • Do I need to do string parsing?

  • Can I use setTime?

  • How about milliseconds?

Like this:

new Date(milliseconds + 4*3600*1000 /*4 hrs in ms*/)?  

This seems really hackish though – and does it even work?

75 thoughts on “Adding hours to JavaScript Date object?”