PHP/值之间的小时数列表

PHP/值之间的小时数列表,php,Php,我有两个变量 $a = '09:00' $b = '13:00' 告诉我如何获取列表: 9:00 10:00 11:00 12:00 没有结尾13:00 谢谢。使用\DateTime的解决方案是: $a = '09:00'; $b = '13:00'; $dtStart = \DateTime::createFromFormat('H:i',$a); $dtEnd = \DateTime::createFromFormat('H:i',$b); while($dtStart<$dt

我有两个变量

$a = '09:00'
$b = '13:00' 
告诉我如何获取列表:

9:00
10:00
11:00
12:00

没有结尾
13:00


谢谢。

使用\DateTime的解决方案是:

$a = '09:00';
$b = '13:00';

$dtStart = \DateTime::createFromFormat('H:i',$a);
$dtEnd = \DateTime::createFromFormat('H:i',$b);

while($dtStart<$dtEnd){
    echo $dtStart->format('H:i') . PHP_EOL;
    $dtStart->modify('+ 1 Hour');
}
$a='09:00';
$b='13:00';
$dtStart=\DateTime::createFromFormat('H:i',$a);
$dtEnd=\DateTime::createFromFormat('H:i',$b);
while($dtStartformat('H:i').PHP\u EOL;
$dtStart->修改(“+1小时”);
}

我会使用
for
循环:)

$a='09:00';
$b='13:00';
$s=标准时间($a);
$e=标准时间($b);
而($s<$e){
回显日期(“h:i”,$s)。“\n”;
$s=标准时间(日期(“h:i”,$s)。“+1小时”);
}
您可以使用该类轻松地在两次循环之间循环,在本例中,间隔为1小时

<?php

$a = '09:00';
$b = '13:00';

$period = new DatePeriod(
    new DateTime($a),
    new DateInterval('PT1H'),
    new DateTime($b)
);
foreach ($period as $date) {
    echo $date->format("H:i\n");
}

?>

09:00
10:00
11:00
12:00
$a = '09:00';
$b = '13:00';
$s = strtotime($a);
$e = strtotime($b);

while($s < $e) {
   echo date ("h:i", $s) . "\n";
   $s = strtotime (date ("h:i", $s) . " +1 hour");
   }
<?php

$a = '09:00';
$b = '13:00';

$period = new DatePeriod(
    new DateTime($a),
    new DateInterval('PT1H'),
    new DateTime($b)
);
foreach ($period as $date) {
    echo $date->format("H:i\n");
}

?>