Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 = Date.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?

like image 352
Jeff Meatball Yang Avatar asked Jun 26 '09 19:06

Jeff Meatball Yang


People also ask

How do you add hours to a date object?

To add hours to a JavaScript Date object, use the setHours() method. Under that, get the current hours and 2 hours to it. JavaScript date setHours() method sets the hours for a specified date according to local time.

How do I sum hours and minutes in JavaScript?

JavaScript Code:function timeConvert(n) { var num = n; var hours = (num / 60); var rhours = Math. floor(hours); var minutes = (hours - rhours) * 60; var rminutes = Math.

Does JavaScript date include time?

JavaScript Date objects represent a single moment in time in a platform-independent format. Date objects contain a Number that represents milliseconds since 1 January 1970 UTC. Note: TC39 is working on Temporal, a new Date/Time API.


1 Answers

JavaScript itself has terrible Date/Time API's. Nonetheless, you can do this in pure JavaScript:

Date.prototype.addHours = function(h) {   this.setTime(this.getTime() + (h*60*60*1000));   return this; } 
like image 102
Jason Harwig Avatar answered Sep 19 '22 17:09

Jason Harwig