2013-03-28 25 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