Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

javascript create date from year, month, day

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?

like image 326
FrenkyB Avatar asked Dec 05 '16 19:12

FrenkyB


People also ask

What is new Date () in JavaScript?

It is used to work with dates and times. The Date object is created by using new keyword, i.e. new Date(). The Date object can be used date and time in terms of millisecond precision within 100 million days before or after 1/1/1970.

How do I format a Date in JavaScript?

const d = new Date("2015/03/25"); The behavior of "DD-MM-YYYY" is also undefined. Some browsers will try to guess the format. Some will return NaN.

What does new Date () return?

"The expression new Date() returns the current time in internal format, as an object containing the number of milliseconds elapsed since the start of 1970 in UTC.


2 Answers

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); 
like image 107
Dean coakley Avatar answered Sep 18 '22 14:09

Dean coakley


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); 
like image 28
Elias Soares Avatar answered Sep 18 '22 14:09

Elias Soares