php больше определенного времени

Я пытаюсь сделать простую функцию для вывода двух разных строк текста в зависимости от времени суток. Я хочу, чтобы это было сказано после 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