I need 0:30 through 0:59 to round down to 0:30.
I need 0:00 through 0:29 to round up to 0:30.
Example: 08:56 will round down to 08:30 where 09:00 and 09:01 wil
you have to do:
$hour = date('H');
$minute = date('i');
$minute = ($minute < 30 || $minute > 30) ? 30 : $minute;
Why don't you just do this:
$hour = date('H');
$minute = (date('i')>30)?'30':'00';
echo "$hour:$minute";
DEMO
UPDATE
I just realized that you asked all time to be rounded to :30
:
$hour = date('H');
$minute = '30'; //always 30
echo "$hour:$minute";
My solution to a real round are the next options:
//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))
Replace time()
with the time you need, and 15
with the minutes you like to round near to.
Example:
$currentTime = time();
echo('Current Time: ' . date('H:i',$currentTime) . '<br>Rounded Up 15 Minutes time: ' . date('H:i',ceil($currentTime / (15 * 60)) * (15 * 60)));