2013-03-28 42 views
1

运行在最新的0.8和0.10版本节点的验证码的node.js:怪异setUTCMonth结果

> date = new Date(2013, 0, 1) 
Tue Jan 01 2013 00:00:00 GMT+0200 (EET) 
> date.setUTCMonth(5) 
1341180000000 
> date 
Mon Jul 02 2012 01:00:00 GMT+0300 (EEST) 

年从2013年变为2012 .setUTCMonth被称为后。为什么会发生?

回答

4

在.setUTCMonth被调用后,2013年到2012年发生了变化。

不,它没有。

当地时区是GMT+0200 - 这意味着,你的日期,你看到Tue Jan 01 2013 00:00:00 GMT+0200真是比格林尼治时间早两个小时,所以这是2012年12月31日,22:00:00。

并且将的月份日期更改为5使您的修改日期最终在2012年7月结束。

+0

Ohhhhhhhh,谢谢! – Fluffy