gpt4 book ai didi

javascript - `date.setMonth`如果`date`是月末则导致月份设置过高

转载 作者:IT王子 更新时间:2023-10-29 03:22:27 25 4
gpt4 key购买 nike

日期对象的 getMonth()方法似乎有错误。假设日期 d2013-01-31 ,我尝试将月份设置为 d像这样:

const d = new Date(); // 2013-01-31

d.setMonth(8);
console.log(d.getMonth());

结果是9 .为什么?我在 Chrome 和 Firefox 中都对此进行了测试。

我发现当它是一个月的 31 号、30 号或 29 号时,将日期设置为天数较少的月份会导致 getMonth返回错误的值。

最佳答案

让我们分解一下:

var d = new Date(); // date is now 2013-01-31
d.setMonth(1); // date is now 2013-02-31, which is 3 days past 2013-02-28
x = d.getMonth(); // what to do, what to do, 3 days past 2013-02-28 is in March
// so, expect x to be March, which is 2

只有当 d 的日期值大于传递给 setMonth() 的月份中的最大天数时,才会出现此问题。否则,它会按您预期的那样工作。

关于javascript - `date.setMonth`如果`date`是月末则导致月份设置过高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14680396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com