获取指定时间段的日期
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) })
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现