Если временная метка является временной меткой в стиле Unix, просто
$rounded = round($time/60)*60;
Если это стиль, который вы указали, вы можете просто преобразовать его в метку времени в стиле Unix и обратно
$rounded = date('H:i:s', round(strtotime('16:45:34')/60)*60);
round()
используется как простой способ обеспечения округления до x
для значений между x - 0.5 <= x < x + 0.5
. Если вы всегда хотели всегда округлять (как показано), вы можете использовать floor()
или функцию по модулю
$rounded = floor($time/60)*60;
//or
$rounded = time() - time() % 60;