为什么JavaScript日期对象构造函数不';你不能正常工作吗?

为什么JavaScript日期对象构造函数不';你不能正常工作吗?,javascript,Javascript,请看以下代码: var date = new Date(); console.log(date); // Tue Apr 30 2013 14:24:49 GMT+0430 var date2 = new Date( date.getFullYear(), date.getMonth(), date.getDay(), 0, 0, 0, 0 ) console.log(date2) // Tue Apr 02 2013 00:00:00 GMT+0430 我只是从今天

请看以下代码:

var date = new Date();
console.log(date);
// Tue Apr 30 2013 14:24:49 GMT+0430

var date2 = new Date(
    date.getFullYear(),
    date.getMonth(),
    date.getDay(), 0, 0, 0, 0
)
console.log(date2)
// Tue Apr 02 2013 00:00:00 GMT+0430
我只是从今天的日期中提取了一些日期,然后用这些数据创建了另一个日期,结果是另一个日期,而不是今天。 JavaScript的日期对象有什么问题?

.getDay()
返回一周中的某一天(0-6),而不是一个月中的某一天。(周二返回2)

使用
getDate()
-它将返回30

。getDay()
返回一周中的某一天(0-6),而不是一个月中的某一天。(周二返回2)

使用
getDate()
-它将返回30

getDay()返回一周中的某一天(从0到6),而不是一个月中的某一天(1-31)。 正确的方法是getDate():

getDay()返回一周中的某一天(从0到6),而不是一个月中的某一天(1-31)。 正确的方法是getDate():


另一件有趣的事是,一月的
getMonth()
0
开始,十二月的
11
运行(这里没有问题,但也会让很多人绊倒)。另一件有趣的事是
getMonth()
一月的
0
开始,十二月的
11
运行(这不是问题,但也会绊倒很多人)。查看文档无误。它与系统其他部分一样使用基于零的编号,除非您在午夜调用此函数,否则时间字符串将不匹配。查看文档无误。它与系统其他部分一样使用基于零的编号,除非您在午夜调用此函数,否则时间字符串w我不相配。
var date = new Date();
console.log(date);
// Tue Apr 30 2013 14:24:49 GMT+0430

var date2 = new Date(
    date.getFullYear(),
    date.getMonth(),
    date.getDate(), 0, 0, 0, 0
)
console.log(date2)
// Tue Apr 30 2013 00:00:00 GMT+0430