Когда пользователь посещает страницу, мне нужно проверить, приходится ли текущее время с 9:00 до 17:30 в будний день, и отображать что-то с помощью jquery / javascript, но я не уверен, как это проверить.
Может кто-нибудь помочь?
Спасибо
Когда пользователь посещает страницу, мне нужно проверить, приходится ли текущее время с 9:00 до 17:30 в будний день, и отображать что-то с помощью jquery / javascript, но я не уверен, как это проверить.
Может кто-нибудь помочь?
Спасибо
Надеюсь, это поможет:
function checkTime() {
var d = new Date(); // current time
var hours = d.getHours();
var mins = d.getMinutes();
var day = d.getDay();
return day >= 1
&& day <= 5
&& hours >= 9
&& (hours < 17 || hours === 17 && mins <= 30);
}
Просто добавил два цента к часу проверки ...
Я лично считаю, что лучший способ - проверить, находится ли он в диапазоне a: b - c: d ...
// check if h:m is in the range of a:b-c:d
// does not support over-night checking like 23:00-1:00am
function checkTime (h,m,a,b,c,d){
if (a > c || ((a == c) && (b > d))) {
// not a valid input
} else {
if (h > a && h < c) {
return true;
} else if (h == a && m >= b) {
return true;
} else if (h == c && m <= d) {
return true;
} else {
return false;
}
}
}
Используя текущее время, вы можете сделать что-то вроде этого:
var now = new Date(),
day = now.getDay(),
hours = now.getHours();
//Check if day is Mon-Fri
if(0 < day < 6) {
//check between 9am and 5pm
if(9 <= hours <= 17) {
if(hours !== 17 || now.getMinutes() <= 30) {
//your jQuery code here
}
}
}
У меня было требование, когда мне нужно было определить, находится ли время в одном объекте даты в пределах двух других. (Дата не имела значения, а только время).
Я так и сделал, думал может кому поможет.
/*
* d, start and end all are Date objects.
*/
const checkIfTimeIsInRange = (d, start, end) => {
if (start.getHours() < d.getHours() && d.getHours() < end.getHours()) {
return true;
} else if (start.getHours() == d.getHours()) {
if (d.getHours() == end.getHours()) {
if(start.getMinutes() <= d.getMinutes() && d.getMinutes() <= end.getMinutes()) {
return true
} else {
return false
}
} else if(start.getMinutes() <= d.getMinutes()) {
return true
} else {
return false
}
} else if (d.getHours() == end.getHours()) {
if(d.getMinutes() <= end.getMinutes()) {
return true
} else {
return false
}
} else {
return false
}
}
P.S. Любые улучшения, предложения приветствуются.