//cellValue 可传日期和时间戳
function formatDate(cellValue, format = 'YYYY-MM-DD hh:mm:ss') {
if (cellValue == null || cellValue == '') return ''
var date = new Date(cellValue);
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? ('0' + m) : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
var h = date.getHours();
h = h < 10 ? ('0' + h) : h;
var min = date.getMinutes();
min = min < 10 ? ('0' + min) : min;
var s = date.getSeconds();
s = s < 10 ? ('0' + s) : s;
let nowDate = '';
switch (format) {
case 'YYYY-MM-DD hh:mm:ss':
nowDate = y + '-' + m + '-' + d + ' ' + h + ':' + min + ':' + s;
break;
case 'YYYY-MM-DD':
nowDate = y + '-' + m + '-' + d;
break;
case 'YYYY-MM':
nowDate = y + '-' + m;
break;
case 'hh:mm:ss':
nowDate = h + ':' + min + ':' + s;
break;
}
return nowDate;
}
获取以周为单位的开始时间和结束时间
// formatDate为上方的函数 主要用于时间格式化 可自己替换
// n 表示当前时间的以前或者以后的几个周次 -1表示上周 0表示本周 1表示下周 以此类推
function isWeek(n = 0) {
let date = new Date();
let week = date.getDay() === 0 ? 7 : date.getDay();
let timeStamp = date.valueOf()
let dayTime = 24 * 60 * 60 * 1000 //一天的毫秒数
let lastWeekTime = timeStamp - (((week - 1) - (n * 7)) * dayTime)
let endWeekTime = lastWeekTime + (6 * dayTime)
let lastWeekDate = formatDate(lastWeekTime, 'YYYY-MM-DD')
let endWeekDate = formatDate(endWeekTime, 'YYYY-MM-DD')
let data = {}
data.startDate = lastWeekDate;
data.endDate = endWeekDate;
return data
}