【发布时间】:2020-11-04 21:12:45
【问题描述】:
我无法找到解决此问题的方法。拜托,我写了这段代码来计算休假期间工作时间之间的差异,我还记下了午餐时间和周末。但是,我想延长它以适应假期。例如,如果数组 ['2020-07-15', '2020-07-16', 2020-07-17'] 中的日期是假期。请问,如何根据数组中传递的日期排除这些假期。谢谢
onChangeDate(){
var minutesWorked = 0;
var startDate = new Date(this.leaveList.date_from);
var endDate = new Date(this.leaveList.date_to);
var holidays = [ new Date (2020, 6, 27), new Date(2020, 6, 28 )]
if(endDate < startDate){
return 0;
}
var current = startDate
// Define work range
var workHoursStart = 8.30;
var workHoursEnd = 18;
var excludeWeekends = true;
var excludeLunch = true;
// Loop while currentDate is less than end Date (by minutes)
while(current <= endDate){
if(current.getHours() >= workHoursStart && current.getHours() < workHoursEnd && (excludeWeekends ? current.getDay() !== 0 && current.getDay() !== 6 : true)
&&(excludeLunch ? current.getHours() !== 12 && current.getHours() !==13.30: true)){
minutesWorked++;
}
current.setTime(current.getTime() + 1000 * 60);
}
this.leaveList.hours = Math.floor(minutesWorked / 60);
}
【问题讨论】:
标签: javascript jquery angularjs angular