2012-01-27 62 views
1

要compage 2日期我正在做一個字符串轉換爲javascript日期對象。Javascript新日期()給我執行getTime()時相同的結果

這是代碼的個例,我有:

var date1 = new Date(dateArrray1[2], dateArrray1[1], dateArrray1[0], 0, 0, 0, 0); 
var date2 = new Date(dateArrray2[2], dateArrray2[1], dateArrray2[0], 0, 0, 0, 0); 

我ISSU是這樣的事實,當我的2日期對象做一個驗證我上了的getTime功能相同的結果某個日期。

var date1 = new Date(2012, 01, 30, 12, 0, 0, 0).getTime() 
var date2 = new Date(2012, 02, 01, 12, 0, 0, 0).getTime() 

通常的date1值丹斯date2應該是不同的。但驚喜!這兩個對象的值相同(實際值爲1330621200000)。

難道有人遇到同樣的問題嗎?

回答

3

JavaScript日期使用基於0的月份。
如果你通過一個無效的日期,如2月30日,它會找出那個日期實際上是什麼。
因此,2月30日th的閏年與3月1日相同st

+0

這是真的,只是因爲它是一個閏年。通常2月30日是3月2日。 – Gabe 2012-01-27 18:29:27

+0

你的意思是說,如果我解析我的傳遞值的構造函數,然後我做-1,我的日期會給我很好的價值? – Muffun 2012-01-27 18:37:20

3

月份字段範圍爲0 - 11,而不是1 - 12

因此,在這種情況下,你已經問過了二月30日和3月1日。

今年2月有29天,所以2月30日(數學)與3月1日相同。

相關問題