Javascript setDate() 意外行为错误月份

标签 javascript date

任何人都可以向我解释为什么“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/

相关文章:

javascript - 测试 JavaScript 图表

javascript - Cypress :查找元素数量而不抛出错误

javascript - 明天、今天和昨天与 MomentJS

Java公历转特定格式

javascript - 将多个具有相同结构的html标签设置为下一个div的高度

javascript - 使用 jQuery 交叉淡入淡出两个 div

javascript - 比较三个日期以获得最新的 MongoDB

java - 为什么我在 Java 8 中无法正确解析这个英文日期?

c# - 想要从数据表日期列中删除时间

javascript - 用 JSON 结果替换选择框选项