Задать вопрос
@Gabe_B

Как реализовать работу скрипта в диапазоне времени день — ночь?

Необходимо, чтобы показывался текст строго в определенное время. Я не стал заморачиваться и накидал простейший скрипт типа -
$сейчас =  дата(часыминуты); // типа 2200
$начало = "1000"; // 10 утра
$конец = "2300"; // 23 вечера

И если $сейчас больше или равно $начало и меньше или равно $конец, то показываем текст.
Все работало хорошо до момента, пока я не решил поставить $конец на час ночи (0100), и тут я понял, что попал. Ибо 0100 никак не может быть больше 1000 и меньше 2300.
Прошу совета)
  • Вопрос задан
  • 242 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@Gabe_B Автор вопроса
Поправил свой индусский код и всё заработало. Возможно кому-то интересно -
<?php
$start = '0800';
$end = '0100';
$current = date('Gi');

if($start < $end){
if($current>=$start && $current<$end){
  echo"показывать.<br>";
}else{
  echo"не показывать.<br>";
}
} else if($start > $end){
if($current<$start && $current>=$end){
  echo"не показывать.<br>";
}else{
  echo"показывать.<br>";
}
}
?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Denormalization
@Denormalization
Лучше сравнивать timestamp.
Тут есть примеры как дату в timestamp перевести разными способами.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы