0

这段代码我哪里出错了?

var now = Date.now();
var HoursLater = now.addHours(6);
Date.prototype.addHours= function(h){
    this.setHours(this.getHours()+h);
    return this;
}

document.write(HoursLater);

​</p>

4

2 回答 2

3

无需重新发明轮子!

周围有很好的图书馆可以为您节省大量时间。

查看date.js。它已经有 addHours() 了!

.addHours ( Number hours ) : Date

Adds the specified number of hours to this instance given the number of hours to add. The number can be positive or negative.
// Solution to your problem with date.js ;)
Date.today().addHours(6);

// What date is next thursday?
Date.today().next().thursday();

// Add 3 days to Today
Date.today().add(3).days();
于 2012-10-23T13:05:50.793 回答
2

您的原型方法addHours是在 Date() 对象上定义的,而不是在 Date.now() 上。

只需将您的第一行修改为var Now = new Date();

还将原型方法定义addHours移到顶部(由于前 2 个语句的执行顺序)。

http://jsfiddle.net/ATUpF/

于 2012-10-23T13:14:12.667 回答