1

看看这段代码:

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 对象有什么问题?

4

2 回答 2

4

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

使用getDate()- 它将返回 30

于 2013-04-30T10:06:34.567 回答
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
于 2013-04-30T10:08:15.173 回答