原因
某天接到需要,要依据月份算以后月有几周,按周获取数据,于是乎各种百度,然而好多办法的实现实太简单了,尽管想无脑搬运,然而我感觉搬运的前提还是要本人能看懂,之后在一个小哥哥的帖子上想到了个简略的实现的办法,如有bug,请各位指教,
代码
function weeks (now_month) { let week_array = []; let today = new Date(Date.parse(now_month)); let year = today.getFullYear(); let month = today.getMonth(); let i = 0; let start = new Date(year, month, 1); // 失去当月第一天 let end = new Date(year, month+1, 0); // 失去当月最初一天 // 循环每周最初天叠设置为第一天,直到最初一天小于当月的最初一天 while (start <= end ) { const monday = new Date(start.getTime()); const sunday = new Date(start.getTime()); monday.setDate(monday.getDate()+1-monday.getDay()); sunday.setDate(sunday.getDate()+7-sunday.getDay()); week_array.push( [monday,sunday] ) start = sunday; } return week_array;}
输出 weeks("2022-03") 失去了正确的输入
学无止境