Javascript 新日期(…)向前添加一个月

Javascript 新日期(…)向前添加一个月,javascript,node.js,Javascript,Node.js,我正在使用node.js进行开发,并试图在服务器上创建一个日期对象 编码时: var birthyear = 2000; var birthmonth = 7; var birthday = 24; var date = new Date(birthyear, birthmonth, birthday); console.log(date); 输出: Thu Aug 24 2000 00:00:00 GMT+0300 (Jerusalem Daylight Time) 正如你所看到的,我得到

我正在使用node.js进行开发,并试图在服务器上创建一个日期对象

编码时:

var birthyear = 2000;
var birthmonth = 7;
var birthday = 24;
var date = new Date(birthyear, birthmonth, birthday);
console.log(date);
输出:

Thu Aug 24 2000 00:00:00 GMT+0300 (Jerusalem Daylight Time)
正如你所看到的,我得到的是八月而不是七月


如何解决该问题?

构造函数中的month参数对于一月不是从1开始,而是从0开始。因此,如果提供月值7,则表示8个月,即8月

发件人:

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


Date()
构造函数中的month参数对于一月不是从1开始,而是从0开始。因此,如果提供月值7,则表示8个月,即8月

发件人:

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

JavaScript中的月份是0索引的,这意味着月份
7
实际上是八月。使用7月份的值
6

令人烦恼的是,
Date
对于哪些字段是0索引的,哪些字段是1索引的并不一致,事实上,同一个字段可以是一个,具体取决于上下文。当您必须使用日期时,应该始终参考文档。

JavaScript中的月份是0索引的,这意味着月份
7
实际上是8月份。使用7月份的值
6


令人烦恼的是,
Date
对于哪些字段是0索引的,哪些字段是1索引的并不一致,事实上,同一个字段可以是一个,具体取决于上下文。当您必须使用日期时,您应该始终参考文档。

是的,这很奇怪,但月份应从开始计算

0

是的,这很奇怪,但是月份应该从

0

JS中的月份从
0开始
因此,这是一个非常简单的解决方案:


JS中的月份从
0开始
因此,这是一个非常简单的解决方案: