0
我有這樣的一些代碼,我在一篇博客文章和它的重新出現的24小時倒計時發現使用http://keith-wood.name/countdown.html。我使用它的目的是作爲第二天交付的截止日期,所以當下午4點的截止日期通過時,計時器重置。第二天交貨在週末不可用,所以它們是一個計算器,可以在週五,週六或週日調整計時器。jQuery的倒計時打破了週末的時候,時間改變
這的jsfiddle顯示演示它每天倒計時下午四時,除了週末:https://jsfiddle.net/u3t2n9jk/6/
我的問題
我只需要下午4點的最後期限更改爲下午3點。如果我因爲某種原因而將var deadline = 16更改爲15(24小時制),它將打破星期五,星期六和星期日的計算。我還需要做些什麼才能使其正常工作?
function nextDay() {
var target = new Date();
var deadline = 16; // Set 4pm/16:00hrs dispatch deadline
if (target.getHours() < deadline || (target.getHours() == 15 && target.getMinutes() == 59)) {
console.log('Before deadline ' + target.getMinutes());
if (target.getDay() == 5 && target.getHours() == 16 && target.getSeconds() > 1) { // For Friday After 4PM
target.setHours(88, 0, 0, 0);
}
else if (target.getDay() == 6 ) { // For Saturday
target.setHours(64, 0, 0, 0);
}
else if (target.getDay() == 7 ) { // For Sunday
target.setHours(30, 0, 0, 0);
}
else {
target.setHours(deadline, 0, 0, 0);
}
} else if (target.getHours() > deadline || (target.getHours() == deadline && target.getMinutes() >= 0) ) {
console.log('After deadline ' + target.getMinutes());
if (target.getDay() == 5 && target.getHours() == 16 && target.getSeconds() > 1) { // For Friday After 4PM
target.setDate(target.getDate() + 1);
target.setHours(88, 0, 0, 0);
}
else if (target.getDay() == 6 ) { // For Saturday
target.setDate(target.getDate() + 1);
target.setHours(64, 0, 0, 0);
}
else if (target.getDay() == 7 ) { // For Sunday
target.setDate(target.getDate() + 1);
target.setHours(30, 0, 0, 0);
}
else {
target.setDate(target.getDate() + 1);
target.setHours(deadline, 0, 0, 0);
}
}
return target;
}