【JavaScript】获取每个月的天数
首页 专栏 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 国际》许可协议
为了不加班
一个为了写出漂亮代码而努力的前端人
关注专栏
avatar
野望

一个为了写出漂亮代码而努力的前端人

15 声望
2 粉丝
关注作者
0 条评论
得票 时间
提交评论
avatar
野望

一个为了写出漂亮代码而努力的前端人

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.