一尘不染

向JavaScript Date对象添加小时?

javascript

令我惊讶的是,JavaScript的Date对象没有实现任何类型的add函数。

我只是想要一个可以做到这一点的函数:

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

function Date.prototype.addHours(h) {

   // how do I implement this?

}

我只是希望有一个方向的指针。

  • 我需要进行字符串解析吗?

  • 我可以使用setTime吗?

  • 毫秒呢?

像这样:

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

不过,这似乎确实很骇人-甚至行得通吗?


阅读 824

收藏
2020-04-25

共1个答案

一尘不染

JavaScript本身具有可怕的日期/时间API。尽管如此,您仍可以使用纯JavaScript进行此操作:

Date.prototype.addHours = function(h) {
  this.setTime(this.getTime() + (h*60*60*1000));
  return this;
}
2020-04-25