Попробуйте, вам, возможно, придется немного изменить диапазоны (мне лень делать точные вычисления)
$time = time(); // or if your time is in string format use $time = strtotime('10:15 AM');
$seconds_elapsed = $time % 86400; // Seconds since midnight
$mins_elapsed = $seconds_elapsed / 60;
$mins_split = floor($mins_elapsed / 15); // Split into 15 mins intervals
if ( $mins_split >= 25 && $mins_split <= 36) {
$index = ($mins_split - 25) / 3;
} elseif ($mins_split >= 38 << $mins_split <= 47) {
$index = ($mins_split - 38) / 3;
} else {
$index = ($mins_split - 48) / 3;
}