2010-05-25 81 views
3

我在比較2個使用javascript的日期。 1月底,1月初。我需要在幾秒鐘內比較這兩個日期,因此我使用Date.UTC javascript函數。javascript date.utc問題

下面的代碼:

 
var d = Date.UTC(2010,5,31,23,59,59); 
document.write(d); 

var d2 = Date.UTC(2010,6,1,12,20,11); 
document.write(d2); 

的輸出是:

 
1278028799000 
1277986811000 

這是告訴我,1/6/2010小於5/31/2010在毫秒。

這怎麼可能?我究竟做錯了什麼?

感謝您的幫助。

回答

7

month參數爲Date.UTC()爲0索引; 1月爲0,2月爲1等。

UTC()將嘗試修改無效日期,因此將「2010年6月31日」轉換爲「2010年7月1日」。然後,額外的23點59分59秒使第一次日期變大。

+2

(JavaScript從Java繼承了這個高度可疑的行爲。) – bobince 2010-05-25 21:35:03

+0

謝謝,你搖滾 – Dave 2010-05-26 16:59:20