gpt4 book ai didi

javascript - 获取星期几和一天中的特定时间

转载 作者:行者123 更新时间:2023-11-30 17:43:39 25 4
gpt4 key购买 nike

我使用 javaScript 在工作日和工作时间(周一至周五 08:00 到 16:50 之间)显示元素。

我正在使用这段代码:

var date = new Date();
var thisMin = date.getMinutes();
var thisHour = date.getHours();
var thisWeekday = date.getDay();
// True if Mon - Fri between 08:00 - 16:50
if (thisWeekday > 0 && thisWeekday < 6 && thisHour > 7 && (thisHour < 17 && thisMin <= 50)) {
alert("True");
} else {
alert("False");
}

- 但这是最​​好的编码方式吗?似乎有很多条件,而且它一直在工作......可以用 javaScript 以更好的方式完成吗?

Fiddle here .

谢谢。

最佳答案

请注意,您的条件包含两个不同的部分“必须在周间隔内”和“必须在时间间隔内”。代码可以通过明确的方式更清楚地反射(reflect)这一点。

对于时间比较,我会 reshape 当前时间,以便您可以使用 Date<=>=运算符而不是自己重新实现时间比较:

var startTime = new Date(0, 0, 0, 8, 0);
var endTime = new Date(0, 0, 0, 16, 50);
var startWeekday = 1;
var endWeekday = 5;

function shouldDisplay() {
var d = new Date();

function withinWeekInterval() {
return (d.getDay() >= startWeekday &&
d.getDay() <= endWeekday);
}

function withinTimeInterval() {
var now = new Date(0, 0, 0, d.getHours(), d.getMinutes());
return (now >= startTime &&
now <= endTime);
}

return (withinWeekInterval() && withinTimeInterval());
}

手动测试:

alert(shouldDisplay());

关于javascript - 获取星期几和一天中的特定时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20563926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com