node.js:奇怪的setUTCMonth结果
在最新的0.8和0.10版本的节点中运行这个代码:
> 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)
.setUTCMonth
被调用后,2013年到2012年发生了变化。 为什么会发生?
.setUTCMonth被调用后,2013年到2012年发生了变化。
不,它没有。
您当地的时区是GMT+0200
,也就是说,您所看到的date为Tue Jan 01 2013 00:00:00 GMT+0200
,实际上是格林威治时间早两个小时,所以是2012年12月31日22:00:00。
并将该date的月份更改为5
,从而使修改后的date最终在2012年7月结束。