Как разбить 24 часа по 5 минут в виде 12:00, 12:05,12:10 и т.д.?

Рейтинг: 1Ответов: 3Опубликовано: 20.01.2015

Друзья, прошу помочь с решением. Как разложить 24 часа шагом 5 минут в виде 12:00, 12:05,12:10 и т.д.?

Делается для графика!

Есть такое решение по дням:

$num = cal_days_in_month(CAL_GREGORIAN, $month, $year);
for($i=1;$i<=$num;$i++)
    $mktime=mktime(0,0,0,$month,$i,$year);
    $date=date("d/m",$mktime);
    $dates_month[$i]=$date;
    echo $date
}

Помогите переделать.

Ответы

▲ 1Принят
<?php
date_default_timezone_set('UTC');
$num = 86400/300;  // Секунд в дне поделить на секунды в 5 минутах
for($i=1;$i<=$num;$i++)
{
    $mktime = $i*300;
    $date=date("H:i",$mktime);
    $dates_month[$i]=$date;
    echo $date." ";
}
?>
▲ 2

Еще вариант в копилку

$today = new \DateTime('2014-01-21');
$tomorrow = new \DateTime('2014-01-22');
$interval = new \DateInterval('PT5M');
$daterange = new \DatePeriod($today, $interval ,$tomorrow);
foreach($daterange as $date){
    echo $date->format("H:i") . "\r\n";
}
▲ 1

Как дополнительный вариант

$step_array = '00:00';
while($i<288){
    $all_steps[] = $step_array; 
    $step_array = date('H:i', strtotime('+5 min', strtotime($step_array)));
    $i++;
}

var_dump($all_steps);