javascript create date from year, month, day

JavascriptJquery

Javascript Problem Overview


I am trying to create a new date in javascript.

I have year, month and day. Following this tutorial, syntax for creating new date should be:

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

and that is exactly what I am doing:

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

This should be december 17th 2016, but in my console output I see:

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

What am I doing wrong?

Javascript Solutions


Solution 1 - Javascript

January is month 0. December is month 11. So this should work:

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

Also, you can just simply do:

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

Solution 2 - Javascript

According to MDN - Date:

> month > > Integer value representing the month, beginning with 0 for > January to 11 for December.

You should subtract 1 from your month:

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionFrenkyBView Question on Stackoverflow
Solution 1 - JavascriptDean coakleyView Answer on Stackoverflow
Solution 2 - JavascriptElias SoaresView Answer on Stackoverflow