为什么JavaScript Date对象构造函数无法正常工作?

时间:2013-04-30 10:03:21

标签: 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

我只是从今天的日期提取了一些日期,并用该数据创建了另一个日期,结果是另一个日期,而不是今天。 JavaScript的Date对象有什么问题?

2 个答案:

答案 0 :(得分:4)

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

使用getDate() - 它将返回30

答案 1 :(得分:1)

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

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