js获取某个月的开始结束时间如何获取。百度了好多都是获取的上个月的。求教

拇指一代
  • 290

问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

回复
阅读 4.7k
6 个回答
new Date(2018,11,0)

最后一个参数 0 ,就是取最后一天

开始时间就是1号,至于结束时间,你可以设置到下月1号再减去一天不就可以得到了

楼上的思路是对的 可以查看 moment.js

之前有整理一些日期的常用的方法,楼主可以看一下能不能满足需求

      // 获取本月日期 count:0当前月、-1上一个月、1下一个月
  getMonthStartAndEnd: function (count = 0, format = this.format) {
    let dateRange = []
    let currentDate = new Date()
    let month = currentDate.getMonth() + count
    if (month < 0) {
      let n = parseInt((-month) / 12)
      month += n * 12
      currentDate.setFullYear(currentDate.getFullYear() - n)
    }
    currentDate = new Date(currentDate.setMonth(month))
    // 获得当前月份 0-11
    let currentMonth = currentDate.getMonth()
    // 获得当前年份4位年
    let currentYear = currentDate.getFullYear()
    // 获得上一个月的第一天
    let currentMonthFirstDay = new Date(currentYear, currentMonth, 1).Format(format)
    // 获得上一月的最后一天
    let currentMonthLastDay = new Date(currentYear, currentMonth + 1, 0).setHours(23, 59, 59)
    currentMonthLastDay = new Date(currentMonthLastDay).Format(format)
    dateRange.push(currentMonthFirstDay)
    dateRange.push(currentMonthLastDay)
    return dateRange
  }

先获取下个月的时间,再new Date(年,月,0)就是本月最后一天

宣传栏