js获取当前月份的第一天和最后一天日期

javascript 06-27 11:51

获取当前月的第一天

利用format直接转为指定格式 比如YYYY-MM-DD、YYYY/MM/DD,最后两位直接写成01,就转化为当月1号

let startDate = e.format('YYYY-MM-01')

当前月份的最后一天

由于每个月份的最后一天日期不是固定的,所以我们可以通过系统的时间来获取,原理是获取当前月下一月份的第一天的时间戳,然后减去24小时时间值,最后转换成时间。

function getEndMonthDay(e) {
  let endDate = new Date(e)
  /**
* getMonth()获取当前月份,返回值是0-11,
*/
  let month = endDate.getMonth()
  /**
* getFullYear()获取当前年份,++month就是下个月,1代表1号,nextMonthFirstDay就是下个月1号了
*/
  let nextMonthFirstDay = new Date(endDate.getFullYear(), ++month, 1)
  /**
* 下个月1号减去1天(1000毫秒*1分钟60秒*1小时60分钟*1天24小时)
* 生成这个月最后一天
*/
  endDate = new Date(nextMonthFirstDay - 1000 * 60 * 60 * 24)
  /**
* 将生成的当月最后一天转化为指定格式(YYYY-MM-DD)
*/
  let endMonth = endDate.getMonth()+1 < 10 ? '0' + (endDate.getMonth() + 1) : endDate.getMonth() + 1
  let endDay = endDate.getDate()
  return endDate.getFullYear() + '/' + endMonth + '/' + endDay
}

相关推荐