任何人都可以向我解释为什么“defaultDate.setDate(d.getDate());”中的月份设置不正确吗?在下面的代码中?我知道 JS 从 0 索引开始运行几个月,但我认为 setDate() 会处理任何差异。
<script>
var defaultDate = new Date();
window.alert(defaultDate);
function testfunction(){
var d=new Date();
window.alert(d);
d.setDate(d.getDate()-10);
window.alert(d);
defaultDate.setDate(d.getDate());
window.alert(defaultDate);
}
testfunction();
</script>
最佳答案
setDate()
和 getDate()
函数仅引用月份中的日期。当您从 d
对象中减去 10 天时,它也会自动设置月份,例如 July。但是,当您设置 defaultDate
对象的日期时,您仅设置了天(因此月份和星期不会更改)。
关于Javascript setDate() 意外行为错误月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18146897/