Круглое форматированное значение времени до ближайшего получаса

Мне нужно 0:30 до 0:59, чтобы округлить до 0:30.
Мне нужно 0:00 до 0:29, чтобы округлить до 0:30.

Пример: 08:56 будет округлить до 08:30, где 09:00 и 09:01 нужно округлить до 09:30.
Секунды должны быть опущены или округлены до: 00

Related of "Круглое форматированное значение времени до ближайшего получаса"

Почему бы вам просто не сделать это:

 $hour = date('H'); $minute = (date('i')>30)?'30':'00'; echo "$hour:$minute"; 

DEMO

ОБНОВИТЬ
Я просто понял, что вы просили все время округлить до :30 :

 $hour = date('H'); $minute = '30'; //always 30 echo "$hour:$minute"; 

Мое решение для реального раунда – это следующие варианты:

 //Round Down date('H:i',floor(time() / (15 * 60)) * (15 * 60)) //Round Up/Down date('H:i',round(time() / (15 * 60)) * (15 * 60)) //Round Up date('H:i',ceil(time() / (15 * 60)) * (15 * 60)) 

Замените time() на время, которое вам нужно, и 15 с помощью минут, в которые вы хотите приблизиться.

Пример:

 $currentTime = time(); echo('Current Time: ' . date('H:i',$currentTime) . '<br>Rounded Up 15 Minutes time: ' . date('H:i',ceil($currentTime / (15 * 60)) * (15 * 60))); 
 you have to do: $hour = date('H'); $minute = date('i'); $minute = ($minute < 30 || $minute > 30) ? 30 : $minute;