- date: documentation ( source)
<?php
// vychozi pripocet je cela ctvrthodina
$diff = 15;
$dt = new DateTime;
$minutes = $dt->format('i');
$minutes = (strlen($minutes) == 1) ? (int) $minutes[1] : (int) $minutes;
// najdi nejblizsi celou ctvrthodinu
$quarters = array(15, 30, 45, 60);
foreach($quarters as $quarter){
$curDiff = $quarter - $minutes;
// pokud je interval mensi nez minuly a zaroven kladny
// presne 0 je na dane ctvrthodine a to chceme pripocist plnych 15 min
if($curDiff < $diff && $curDiff > 0){
$diff = $curDiff;
}
}
$dt->add(new DateInterval('PT'.$diff.'M'));
echo $dt->format('Y-m-d H:i:00').PHP_EOL;
echo date('H:i');