首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript (在浏览器和Node.JS中)如果系统时间是任何一个月的29号,则date.setMonth(1)的date.getMonth() =2

JavaScript (在浏览器和Node.JS中)如果系统时间是任何一个月的29号,则date.setMonth(1)的date.getMonth() =2
EN

Stack Overflow用户
提问于 2017-11-01 18:30:13
回答 1查看 21关注 0票数 0

JavaScript (在浏览器和Node.JS中)如果系统时间是任何一个月的29号,则date.setMonth(1)的date.getMonth() =2

示例代码:

代码语言:javascript
运行
复制
for(var i = 2018; i <= 2020; i++) {
for(var j = 0; j < 3; j++) {
    var date = new Date();
    date.setFullYear(i);
    date.setMonth(j);
    date.setDate(1);
    console.log(i + "-" + j + "=" + date)
}

}

如果您当前的PC时间是任何一个月的29号,请在浏览器和Node.JS中运行此代码,您会得到:

代码语言:javascript
运行
复制
2018-0=Mon Jan 01 2018 18:19:32 GMT+0800 (Malay Peninsula Standard Time)
2018-1=Thu Mar 01 2018 18:19:32 GMT+0800 (Malay Peninsula Standard Time)
2018-2=Thu Mar 01 2018 18:19:32 GMT+0800 (Malay Peninsula Standard Time)
2019-0=Tue Jan 01 2019 18:19:32 GMT+0800 (Malay Peninsula Standard Time)
2019-1=Fri Mar 01 2019 18:19:32 GMT+0800 (Malay Peninsula Standard Time)
2019-2=Fri Mar 01 2019 18:19:32 GMT+0800 (Malay Peninsula Standard Time)
2020-0=Wed Jan 01 2020 18:19:32 GMT+0800 (Malay Peninsula Standard Time)
2020-1=Sat Feb 01 2020 18:19:32 GMT+0800 (Malay Peninsula Standard Time)
2020-2=Sun Mar 01 2020 18:19:32 GMT+0800 (Malay Peninsula Standard Time)

如果您当前的PC时间不是任何一个月的29号,请在浏览器和Node.JS中运行此代码,您会得到:

代码语言:javascript
运行
复制
2018-0=Mon Jan 01 2018 18:20:17 GMT+0800 (Malay Peninsula Standard Time)
2018-1=Thu Feb 01 2018 18:20:17 GMT+0800 (Malay Peninsula Standard Time)
2018-2=Thu Mar 01 2018 18:20:17 GMT+0800 (Malay Peninsula Standard Time)
2019-0=Tue Jan 01 2019 18:20:17 GMT+0800 (Malay Peninsula Standard Time)
2019-1=Fri Feb 01 2019 18:20:17 GMT+0800 (Malay Peninsula Standard Time)
2019-2=Fri Mar 01 2019 18:20:17 GMT+0800 (Malay Peninsula Standard Time)
2020-0=Wed Jan 01 2020 18:20:17 GMT+0800 (Malay Peninsula Standard Time)
2020-1=Sat Feb 01 2020 18:20:17 GMT+0800 (Malay Peninsula Standard Time)
2020-2=Sun Mar 01 2020 18:20:17 GMT+0800 (Malay Peninsula Standard Time)

有没有人可以复制我的问题?

EN

回答 1

Stack Overflow用户

发布于 2017-11-01 18:48:01

代码语言:javascript
运行
复制
for(var i = 2018; i <= 2020; i++) { for(var j = 0; j < 3; j++) { var date = new Date(); date.setFullYear(i); date.setDate(1); date.setMonth(j); console.log(i + "-" + j + "=" + date) } }

嗨,我想我可以在setMonth之前先用setDate解决这个问题。由于现在是9月29日,当设置月份(1)时,它将是9月29日,然后是1月1日。所以当我们再次setDate(1)时,它停留在1月1日。如果我们在setMonth(1)之前先setDate(1),问题就解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47052771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档