js使用moment获取当前日期是当前月的第几周

本文介绍了一个JavaScript函数getMonthWeek,它能计算当前日期在本月内是第几周,适合追踪工作进度或了解每周任务分布。通过moment.js库操作日期,并考虑特殊情况,如非标准周日结束的月份。
摘要由CSDN通过智能技术生成

getMonthWeek() {

        //获取当前时间转字符串并用字符串方法split转数组,获取当前时间年、月、日

        let currentTimeArr = moment().month("YYYY-MM-DD").format('YYYY-MM-DD').split('-')

        //当前日期年

        let year = currentTimeArr[0]

        //当前日期月

        let month = currentTimeArr[1]

        //当前日期日

        let day = currentTimeArr[2]

        //获取本月有多少天

        let monthDay = moment(moment().month("YYYY-MM").format('YYYY-MM'), "YYYY-MM").daysInMonth()  

        //创建一个新数组,用来接收本月所有周未的日,如果本月最后一天不是周日那也算是周未

        let monthWeekend = []

        //如果本月的最后一天不是周日那也算作一周,push进数组

        if (moment(moment(`${year}-${month}-${monthDay} 00:00:00`).format()).day() != 0) {

            monthWeekend.push(monthDay)

          }

        //循环遍历当前月的每一天

        for (let i = 1; i <= monthDay; i++) 

        //获取每一天是周几

          let week = moment(moment(`${year}-${month}-${i} 00:00:00`).format()).day()

        //如果当前i==今天,就看之前的周末数组里有几个值就是第几周

          if (day == i) {

            var indexWeek = monthWeekend.length

          } else {

        //如果当前i不是今天并且当前i是周末,那就push进周末数组

            if (week == 0) {

            monthWeekend.push(i)

          }

          }

        }

        //返回当前日期是本月的第几周

        return indexWeek

    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值