Intereting Posts
Как получить код статуса HTTP для удаленного домена в php? Чтение xml-данных с url с использованием curl и php Попытка повторить строку в синтаксисе MySQL, получить синтаксическую ошибку Переменные PHP передаются по значению или по ссылке? Как импортировать / включать файл CSS, используя PHP-код, а не код HTML? GET весь div с его элементами и отправить его с помощью функции php mail php: сортировка и подсчет экземпляров слов в заданной строке Лучший способ реализовать шаблон декоратора для кэширования результатов метода в PHP Сохранять XML-код при использовании PHP XMLWriter :: writeElement Показать все строки в таблице mysql, а затем дать возможность удалить определенные Как передать данные в dompdf из контроллера? magento добавить пользовательское поле ввода в форму учетной записи пользователя в admin Вставка многомерного php-массива в базу данных mysql Измерьте размер строки в байтах в php php preg_replace с символами Unicode

PHP – дата между двумя другими датами – Игнорирующий месяц

Я пытаюсь определить, есть ли день и время между двумя другими, у меня есть следующее …

$currentdate = date("N h:i:s A"); 

Это возвращает день недели как число, а затем текущее время в 24-часовом формате.

Я хочу проверить, находится ли $currentdate между 9:00 в пятницу и 9 утра в понедельник.

Каков наилучший способ справиться с этим?

Я считаю, что это должно дать вам то, о чем вы просите, но я уверен, что есть лучшие способы реализации. Таким образом, в основном время было преобразовано в INT для сравнения, и часы сконфигурированы, чтобы не иметь $timeOne нуля, поэтому почему $timeOne и $timeTwo короче. Затем я использовал оператор if для тестирования дней и времени в этот конкретный день, оставляя вам слот для добавления вашего кода, если эти условия будут выполнены.

 function checkDayTime() { $day = date(w); //0 (for Sunday) through to 6 (for Saturday) $timeOne = 90000; $timeTwo = 90000;//Added for easier reading $currentTime = (int) date('Gis'); //Time as INT 00000 > 240000 if (($day == 5 && $currentTime > $timeOne) || ($day == 6 || $day == 0) || ($day == 1 && $currentTime < $timeTwo)) { //Between those hours return TRUE; } else { //Not between those hours return FALSE; } } 

Просто удалил лишний оператор if поскольку он не был нужен