当开始日期只有0时,12时, 结束日期只有0时,12时,23时计算工作时长,排除星期天,默认任务工作最短只有12小时
// 半天的毫秒数
const dayMs = 12 * 60 * 60 * 1000;
// 计算两个时间戳的天数,能表示0.5天的情况
function getDays(timestamp1, timestamp2) {
var day=0
var nowtimestamp=timestamp1
for (let i = timestamp1; i < timestamp2; i+=dayMs) {
var date = new Date(nowtimestamp);
if(date.getDay()!=0){
day+=0.5
}
nowtimestamp+=dayMs
//day+=0.5
}
return day
}
var date = new Date("2024-07-21 00:00:00");
var date2 = new Date("2024-07-22 23:59:59");
// 调用函数
console.log(getDays(date.getTime(), date2.getTime())); // 2.5