每隔5分钟从00:00 - 23:55创建阵列时间表

Ter*_*don 3 php time datetime

我想创建一个从00:00到23:55的所有5分钟的数组

在这个论坛上,我发现:

$minutes = 5;
$endtime = new DateTime('2012-01-01 09:00');

//modified the start value to get something _before_ the endtime:
$time = new DateTime('2012-01-01 00:00');
$interval = new DateInterval('PT' . $minutes . 'M');

while($time < $endtime){
    $time->add($interval);
echo $time->format('Y-m-d H:i');
}
Run Code Online (Sandbox Code Playgroud)

如何更改此设置以便输出可以与json一起使用?

例如:-

$ aArray = {"00:00":"00:00","00:05":"00:05",......"23:55":"23:55"}

我的问题不是创建json,而是创建没有日期部分的小时/分钟列表.

Oli*_*Oli 6

你几乎就在那里,只是一点点调整,并且Terje建议使用H:i.也许是这样的:

$startTime  = new \DateTime('2010-01-01 00:00');
$endTime    = new \DateTime('2010-01-01 23:55');
$timeStep   = 5;
$timeArray  = array();

while($startTime <= $endTime)
{
    $timeArray[] = $startTime->format('H:i');
    $startTime->add(new \DateInterval('PT'.$timeStep.'M'));
}

echo json_encode($timeArray);
Run Code Online (Sandbox Code Playgroud)