getLast3Month():获取近三个月的开始时间和结束时间
function getLast3Month() {
var now = new Date()
var year = now.getFullYear()
var month = now.getMonth() + 1 //0-11表示1-12月
var day = now.getDate()
var dateObj = {}
if (parseInt(month) < 10) {
month = '0' + month
}
if (parseInt(day) < 10) {
day = '0' + day
}
dateObj.now = year + '-' + month + '-' + day
if (parseInt(month) == 1) {
//如果是1月份,则取上一年的10月份
dateObj.last = parseInt(year) - 1 + '-10-' + day
return dateObj
}
if (parseInt(month) == 2) {
//如果是2月份,则取上一年的11月份
dateObj.last = parseInt(year) - 1 + '-11-' + day
return dateObj
}
if (parseInt(month) == 3) {
//如果是3月份,则取上一年的12月份
dateObj.last = parseInt(year) - 1 + '-12-' + day
return dateObj
}
var preSize = new Date(year, parseInt(month) - 3, 0).getDate() //开始时间所在月的总天数
if (preSize < parseInt(day)) {
// 开始时间所在月的总天数<本月总天数,比如当前是5月30日,在2月中没有30,则取下个月的第一天(3月1日)为开始时间
let resultMonth = parseInt(month) - 2 < 10 ? '0' + parseInt(month) - 2 : parseInt(month) - 2
dateObj.last = year + '-' + resultMonth + '-01'
return dateObj
}
if (parseInt(month) <= 10) {
dateObj.last = year + '-0' + (parseInt(month) - 3) + '-' + day
return dateObj
} else {
dateObj.last = year + '-' + (parseInt(month) - 3) + '-' + day
return dateObj
}
}
getDayAll(starDay, endDay):获取开始时间和结束时间内的所有日期
function getDayAll(starDay, endDay) {
var arr = []
var dates = []
// 设置两个日期UTC时间
var db = new Date(starDay)
var de = new Date(endDay)
// 获取两个日期GTM时间
var s = db.getTime() - 24 * 60 * 60 * 1000
var d = de.getTime() - 24 * 60 * 60 * 1000
// 获取到两个日期之间的每一天的毫秒数
for (var i = s; i <= d; ) {
i = i + 24 * 60 * 60 * 1000
arr.push(parseInt(i))
}
// 获取每一天的时间 YY-MM-DD
for (var j in arr) {
var time = new Date(arr[j])
var year = time.getFullYear(time)
var mouth = time.getMonth() + 1 >= 10 ? time.getMonth() + 1 : '0' + (time.getMonth() + 1)
var day = time.getDate() >= 10 ? time.getDate() : '0' + time.getDate()
// year + '-' +
var YYMMDD = year + '-' + mouth + '-' + day
dates.push(YYMMDD)
}
dates.pop()
return dates
}
使用
const result = getLast3Month(Date.now())
// 获取近三个月所有日期
const dateRange = getDayAll(result.last, result.now)
console.log(dateRange)
版权声明:本文为weixin_42164004原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。