#javascript #if-statement
#javascript #if-оператор
Вопрос:
Я получаю синтаксическую ошибку с неожиданным токеном < в строке 14, когда пытаюсь запустить этот скрипт в своем браузере. То, что я пытаюсь сделать, это открыть мои классы за 5 минут до начала занятий и все еще открывать при запуске вплоть до 5 минут до следующего занятия.
<script>
//Current time
var date = new Date();
var time = date.getTime();
//Time checker
if(time >= 7:55 amp;amp; < 8:55){
window.open('https://classroom.google.com/c/MTIyMjc3NTE0MzEw');
}
if(time >= 8:55 amp;amp; < 9:55){
window.open('https://classroom.google.com/c/MTE1MjA4MzM5MDgz');
}
if(time >= 9:55 amp;amp; < 10:55){
window.open('https://classroom.google.com/c/MTIyMjk4MzAxMjYx');
}
if(time >= 10:55 amp;amp; < 11:55){
window.open('https://classroom.google.com/c/MTIzMjMyNzU4ODk2');
}
if(time >= 11:55 amp;amp; < 12:55){
window.open('https://classroom.google.com/c/MTIzMTkzMjU1MjAx');
}
if(time >= 12:55 amp;amp; < 13:55){
window.open('https://classroom.google.com/c/MTIyMjk4MzAxMjQx');
}
if(time >= 13:55 amp;amp; < 14:55){
window.open('https://classroom.google.com/c/MTIyNDk3Mjk5NDQ2');
}
if(time >= 14:55 amp;amp; <= 15:00){
window.open('https://classroom.google.com/c/MTIyNjk1NTQxMzYw');
}
</script>
Комментарии:
1.
7:55
недопустимо; это просто не работает таким образом. Во-первых,.getTime()
дает вам количество миллисекунд с 1 января 1970 года по UTC, а не время суток.2. И это тоже недопустимо:
amp;amp; < 8:55
3. Кроме того, вы должны указать обе стороны вашего сравнения в предложениях if: «if ((время > 3600000) amp;amp; (время < 7200000))»
4. Используйте
getHours()
иgetMinutes()
, преобразуйте это в минуты с полуночи, затем сравните это с вашими диапазонами.
Ответ №1:
date.getTime()
не возвращает время суток. Если вам нужно время суток, используйте date.getHours()
и date.getMinutes()
. Затем вы можете преобразовать это в количество минут, прошедших с полуночи, которое вы можете использовать, чтобы определить, находится ли время в пределах ваших конкретных диапазонов.
//Current time
var date = new Date();
var time = 60 * date.getHours() date.getMinutes();
//Time checker
if(time >= (7 * 60 55) amp;amp; time < (8 * 60 55)){
window.open('https://classroom.google.com/c/MTIyMjc3NTE0MzEw');
}
if(time >= (8 * 60 55) amp;amp; time < (9 * 60 55)){
window.open('https://classroom.google.com/c/MTE1MjA4MzM5MDgz');
}
if(time >= (9 * 60 55) amp;amp; time < (10 * 60 55)){
window.open('https://classroom.google.com/c/MTIyMjk4MzAxMjYx');
}
if(time >= (10 * 60 55) amp;amp; time < (11 * 60 55)){
window.open('https://classroom.google.com/c/MTIzMjMyNzU4ODk2');
}
if(time >= (11 * 60 55) amp;amp; time < (12 * 60 55)){
window.open('https://classroom.google.com/c/MTIzMTkzMjU1MjAx');
}
if(time >= (12 * 60 55) amp;amp; time < (13 * 60 55)){
window.open('https://classroom.google.com/c/MTIyMjk4MzAxMjQx');
}
if(time >= (13 * 60 55) amp;amp; time < (14 * 60 55)){
window.open('https://classroom.google.com/c/MTIyNDk3Mjk5NDQ2');
}
if(time >= (14 * 60 55) amp;amp; time < (15 * 60 55)){
window.open('https://classroom.google.com/c/MTIyNjk1NTQxMzYw');
}
Комментарии:
1. я новичок в javascript, не могли бы вы объяснить, для чего нужны * и 60
2.
*
является умножением. 60 — это количество минут в часе.3. Умножьте час на 60, чтобы получить количество минут, прошедших с полуночи. Простая арифметика.
Ответ №2:
Функция getTime() выдаст вам количество миллисекунд. Вместо этого попробуйте date.getHours(). Не забудьте передать аргумент, чтобы получить более конкретное значение