Javascript setHours(1)不适用于2011年3月27日01:00:00 GMT + 0100

Rem*_*emy 3 javascript date

我完全不知道为什么这不起作用?

我正在迭代一个日期范围,一步一步地加1小时.直到本周,这个工作正常.基本上直到日期为2011年3月27日01:00:00 GMT + 0100.然后它只是卡住而不添加任何东西.如果我加+ 3h然后它再次起作用,但不是+1.

我在Firefox上使用Firebug并在控制台中尝试了它.

Sun Mar 27 2011 01:00:00 GMT+0100

>>> this.setHours(0);
1301180400000
>>> this.setHours(1);
1301184000000
>>> this.setHours(2);
1301184000000
>>> this.setHours(3);
1301187600000
Run Code Online (Sandbox Code Playgroud)

这是代码:

Date.prototype.addHours = function (h) {
    this.setHours(this.getHours() + h);
    return this;
}
Run Code Online (Sandbox Code Playgroud)

我在Safari和Chrome中遇到了同样的错误.

Ker*_*ğan 5

夏令时导致此行为.3月27日是夏令时开始的日子.

编辑:

希望这能解决您的问题:JavaScript中的夏令时