【发布时间】:2018-12-08 21:01:52
【问题描述】:
我有以下时间函数,用于输出业务是否开放或关闭。我对其进行编码的方式在正常工作周内运行良好。我想做的是为假期编程,比如圣诞节、7 月 4 日等总是在同一天,所以输出显示我们关闭了。
在固定假期我将如何编程?
function timeNow() {
//Get time
var d = new Date(),
h = ('0' + d.getHours()).slice(-2),
m = ('0' + d.getMinutes()).slice(-2);
//Get Day
new Date().getDay();
var day = new Date().getDay();
console.log(day);
var operateDay = '';
if (day >= 1 && day <= 5) {
operateDay = true;
} else if (day < 1 || day > 5) {
operateDay = false;
}
// Checking time range
var operatingTime = ((h >= 8 && h < 17) || (h === 8 && m == 0));
var closedTime = (h >= 17 || h <= 8);
var operateStatus = '';
if ((operatingTime) && (operateDay = true)) {
operateStatus = 'Our office is currently open';
$('#closedWrap').addClass('block');
$('#operationStatus').addClass('open');
} else if (closedTime) {
operateStatus = 'Our office is currently closed';
$('#closedWrap').addClass('block');
$('#operationStatus').addClass('closed');
} else if (operateDay = false) {
operateStatus = 'Our office is currently closed';
$('#closedWrap').addClass('block');
$('#operationStatus').addClass('closed');
}
return operateStatus;
}
var operation = timeNow();
$('#operationStatus').html(operation);
【问题讨论】:
-
从概念上讲,我会想象一个强制关闭的天数数组,可能已经作为 Date 对象,然后您可以对该数组执行逻辑以检查日期是否为与任何数组日期相同。如果是这样,这个地方就关闭了。
-
@Taplar 我不知道如何指定一天。
-
前。
new Date('07-01-2018')是 7 月 1 日 -
@Taplar
new Date('2018-07-01')可能会产生更好的结果,而new Date(2018, 6, 1)会得到最好的结果。 -
@MikeMcCaughan
new Date('2018-07-01')在控制台中的计算结果为Sat Jun 30 2018,这让我感到惊讶,因为我认为 Date 会期望 ISO,但这就是我颠倒顺序的原因。
标签: javascript jquery function time