Я пытаюсь сделать простую функцию для вывода двух разных строк текста в зависимости от времени суток. Я хочу, чтобы это было сказано после 16:00 – доставка на следующий день будет обработана на следующий день.
Я написал это до сих пор:
<?php $currentTime = time() + 3600; echo date('H:i',$currentTime); ?>
Однако, поскольку функция даты возвращает строку, я не знаю, как использовать оператор IF, чтобы проверить, превышает ли время 16:00.
Должен это делать
if (((int) date('H', $currentTime)) >= 16) { // .. do something }
Поскольку PHP является слабым, вы можете опустить (int)
-кастинг.
В качестве побочного элемента: если вы называете переменную $currentTime
, вы не должны добавлять к ней 1 час, потому что тогда это не текущее время больше, а время в один час в будущем;)
if (date('H') >= 16) { /* .. */ }
if ($currentTime > strtotime('16:00:00')) { // whatever you have to do here }
Используйте date('H:i:s')
чтобы получить время в строчном формате и сравнить его с «16:00:00».
if(mktime(16, 0, 0) < time()) { echo "Next day delivery will be processed the following day."; } else { echo "Will be processed today."; }
Может быть, небольшое улучшение, если вы хотите получить больше точности:
if ( (int) date('Hi', $currentTime) > 1600 ) { // .. do something }
Сравните метки времени.
if (strtotime($date) < strtotime('16:00'))
Попробуй это
function checkTime($time1,$time2) { $start = strtotime($time1); $end = strtotime($time2); if ($start-$end > 0) return 1; else return 0; } $currentTime = time() + 3600; $time1 = date('H:i',$currentTime); $time2 = '16:00'; if(checkTime($time1,$time2)) echo "First parameter is greater"; else echo "Second parameter is greater";
Я использовал это для обновления что-то 3 раза в течение дня …
$my_time= strtotime('now')-18000;//Now. My servers timezone is 5hrs ahead. $my_day= strtotime('today')-86400; //today midnight central time. $my_eve= $my_day +54000; //3pm central if ($my_time > $my_day + 32400 && $my_time < $my_eve){ echo date('F j, Y, g:i a', $my_day + 32400); //9am }elseif ($my_time > $my_eve){ echo date('F j, Y, g:i a', $my_eve); //3pm }else{ echo date('F j, Y, g:i a', $my_day);} //midnight