用 js 畫工作日歷的時候,需要用 js 計算指定月份一共有多少天
在網上找了些方法,都比較繁瑣,后來靈機一動,想到一個偷懶的辦法,分享一下
一、原理分析
要想得到某月有多少天,只需要獲取到當月最后一天的日期就行了
圍繞這一思路,靈活調用 setMonth(),getMonth(),setDate(),getDate(),計算出所需日期
二、代碼實現
function getMonthLength(date) { let d = new Date(date) // 將日期設置為下月一號
d.setMonth(d.getMonth()+1) d.setDate('1') // 獲取本月最后一天
d.setDate(d.getDate()-1) return d.getDate() }

三、臉有點疼
發文還不到一小時,就被一位仁兄打臉了
原來還有更簡單的辦法:
new Date(year, month, 0).getDate()
使用 new Date() 創建時間對象時,如果 date 傳入 0,就能直接通過 getDate() 獲取到最后一天的日期

