获取当前月的第一天
利用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
}