javascript从年,月,日创建日期

我想在javascript创建一个新的date

yearmonthday 。 在本教程之后,创建新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) 

我究竟做错了什么?

根据MDN – 日期 :

表示月份的整数值,从1月的0开始到12月的11。

你应该从你的月份中减去1。

1月是0月。12月是11月。所以这应该有效:

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

此外,你可以简单地做:

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