2016-12-05 178 views
8

我正在嘗試在javascript中創建新的datejavascript從年,月,日創建日期

我有yearmonthday。繼this教程,語法創建新date應該是:

new Date(year, month, day, hours, minutes, seconds, milliseconds) 

而這正是我在做什麼:

var d = new Date(2016, 12, 17, 0, 0, 0, 0); 

這應該是2016年12月17日,但在我的控制檯輸出我看到:

Tue Jan 17 2017 00:00:00 GMT+0100 (Central Europe Standard Time) 

我在做什麼錯?

+2

月開始從0 您應該使用這個: var d = new Date(2016,11,17); – Antonio

+1

在Javascript日期對象中,月份爲0。所以0意味着1月,11意味着12月。 嘗試 '變種d =新日期(2016年,11,17,0,0,0,0);'它應該罰款。 –

回答

8

根據MDN - Date

月代表月份,以0開頭的 月至11月爲

整數值。

您應該從一個月減1。

12

一月是月月0個月是11 所以這應該工作:

var d = new Date(2016, 11, 17, 0, 0, 0, 0); 

此外,你可以簡單地做:

var d = new Date(2016, 11, 17);