最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Javascript create Date from year, month, day integer values - Stack Overflow

programmeradmin6浏览0评论

I am trying to create a new Date instance in Javascript.

I have integer values representing year, month and day. Following this tutorial, syntax for creating a 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?

I am trying to create a new Date instance in Javascript.

I have integer values representing year, month and day. Following this tutorial, syntax for creating a 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?

Share Improve this question edited May 29, 2024 at 17:59 Jon Schneider 27k24 gold badges151 silver badges180 bronze badges asked Dec 5, 2016 at 19:37 FrenkyBFrenkyB 7,16716 gold badges73 silver badges124 bronze badges 2
  • 8 Months start from 0. You should use this: var d = new Date(2016, 11, 17); – Antonio Commented Dec 5, 2016 at 19:40
  • 2 In Javascript Date Object, months are 0 based. So 0 means January, 11 means December. try var d = new Date(2016, 11, 17, 0, 0, 0, 0); It should be fine. – Hiren Commented Dec 5, 2016 at 19:42
Add a comment  | 

2 Answers 2

Reset to default 118

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);

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);
发布评论

评论列表(0)

  1. 暂无评论