let getDayAll = (timeArr) => {
let starDay = timeArr[0]
let endDay = timeArr[1]
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 month = (time.getMonth() + 1) >= 10 ? (time.getMonth() + 1) : (time.getMonth() + 1);
var day = time.getDate() >= 10 ? time.getDate() : time.getDate();
var YYMMDD = year + '-' + month + '-' + day;
var obj = {
year,
month,
day,
}
dates.push(obj)
}
// 如果选的是同一天
if (dates.length == 1) {
// 某一天凌晨的毫秒数
let second = new Date(new Date(endDay).toLocaleDateString()).getTime()
// 特定时间的毫秒数
dates[0].begin = new Date(starDay).getTime() - second
dates[0].end = new Date(endDay).getTime() - second
} else {
for (let i = 0, len = dates.length; i < len; i++) {
if (i == 0) {
let second = new Date(new Date(starDay).toLocaleDateString()).getTime()
dates[i].begin = new Date(starDay).getTime() - second
dates[i].end = 86400 - 1
} else if (i == len - 1) {
let second = new Date(new Date(endDay).toLocaleDateString()).getTime()
dates[len - 1].begin = 0
dates[len - 1].end = new Date(endDay).getTime() - second
} else {
dates[i].begin = 0
dates[i].end = 86400 - 1
}
}
}
return dates
}
onMounted(() => {
let timeArr = ['2022-2-27 00:00:30', '2022-3-29 00:00:31']
let allDays = getDayAll(timeArr)
console.log('所有的时间组成的数组:', allDays)
})