[英]Problem with negative numbers in setDate() method of Date() object
做日历并绘制前一个月的日子,我试图在循环中使用setDate()方法来执行此操作,该方法具有一些负数作为输入。 我所看到的:
let testt = new Date(); //today 1 Feb 2019
testt.setDate(0);
console.log( testt.getDate());
testt.setDate(1);
console.log( 'after reset='+testt.getDate());
testt.setDate(-1);
console.log( testt.getDate());
testt.setDate(1);
console.log( 'after reset='+testt.getDate());
testt.setDate(-2);
console.log( testt.getDate());
testt.setDate(1);
console.log( 'after reset='+testt.getDate());
testt.setDate(-3);
console.log( testt.getDate());
testt.setDate(1);
console.log( 'after reset='+testt.getDate());
testt.setDate(-4);
console.log( testt.getDate());
testt.setDate(1);
console.log( 'after reset='+testt.getDate());
我在控制台中看到的是:
31
"after reset=1"
30
"after reset=1"
28
"after reset=1"
28
"after reset=1"
26
"after reset=1"
我希望日期会同步更改。 在控制台中,我将看到31、30、29、28、27个日期如何解决该问题?
您没有重置日期。 输出完整的日期对象,您会发现每次都在更改月份。 这是因为setDate()相对于对象中的当前月份。 您必须完全重置预期输出的日期。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.