首页 专栏 javascript 文章详情
关注作者
关注作者
0
【JavaScript】获取每个月的天数
野望 发布于 43 分钟前
引用自:https://www.cnblogs.com/hualu...
获取天数
function getDays(year, month) {
return new Date(year, month, 0).getDate()
}
console.log(getDays(2021, 2, 0)) //28
console.log(getDays(2021, 3, 0)) //31
console.log(getDays(2021, 4, 0)) //30
先来段解释:
1.Date对象月份从0开始,即0表示1月份,以此类推。
2.由于JavaScript中day的范围为1~31中的值,所以当设为0时,会向前 一天,也即表示上个月的最后一天。
再结合代码:
console.log(getDays(2021, 2, 0)) //28
传入的年份是2021年,而2代表了3月份。再传入0表示3月份的第0天,此时会找到上个月的最后一天,也就是2月份的最后一天。所以返回的是2月份的总天数。
再深刻点理解:
就是说,月份需要向后移动1,而每个月的最后一天需要向前移动1。所以传入2021,2,0,拿到的刚好是2月份的总天数。
总结
正常情况我们会先拿到月再做后面的操作;但上述这样利用逆向思维完成的操作就显得更为巧妙。这需要我们对new Date()的方法有深刻的理解。
Keep foolish, keep hungry.
javascript 前端
阅读 22 发布于 43 分钟前
赞 收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
为了不加班
一个为了写出漂亮代码而努力的前端人
关注专栏
野望
一个为了写出漂亮代码而努力的前端人
15 声望
2 粉丝
0 条评论
得票 时间
提交评论
野望
一个为了写出漂亮代码而努力的前端人
15 声望
2 粉丝
宣传栏
▲
引用自:https://www.cnblogs.com/hualu...
获取天数
function getDays(year, month) {
return new Date(year, month, 0).getDate()
}
console.log(getDays(2021, 2, 0)) //28
console.log(getDays(2021, 3, 0)) //31
console.log(getDays(2021, 4, 0)) //30
先来段解释:
1.Date对象月份从0开始,即0表示1月份,以此类推。
2.由于JavaScript中day的范围为1~31中的值,所以当设为0时,会向前 一天,也即表示上个月的最后一天。
再结合代码:
console.log(getDays(2021, 2, 0)) //28
传入的年份是2021年,而2代表了3月份。再传入0表示3月份的第0天,此时会找到上个月的最后一天,也就是2月份的最后一天。所以返回的是2月份的总天数。
再深刻点理解:
就是说,月份需要向后移动1,而每个月的最后一天需要向前移动1。所以传入2021,2,0,拿到的刚好是2月份的总天数。
总结
正常情况我们会先拿到月再做后面的操作;但上述这样利用逆向思维完成的操作就显得更为巧妙。这需要我们对new Date()的方法有深刻的理解。
Keep foolish, keep hungry.