1

我如何从时间戳的两个端点制作 15 分钟的块。例如,我有一个给定的时间跨度,比如下午 6:00 到晚上 10:00。我想将此时间跨度划分为 15 分钟的块,例如 6:00-6:15 6:15-6:30 6:30-6:45 等等,直到晚上 10:00

请问有人可以帮忙吗?

4

2 回答 2

1

听起来你需要类似的东西:

$tz    = new DateTimeZone('UTC');
$from  = new DateTime('2013-11-13 18:00:00', $tz);
$to    = new DateTime('2013-11-13 22:00:00', $tz);
$times = array();

while ($from <= $to) {
    $times[] = $from->format('r');
    $from->modify('+15 minutes');
}
于 2013-11-13T17:19:35.007 回答
1

您可以使用DatePeriod该类:

$begin = new DateTime('6:00 PM');
$end = new DateTime('10:00 PM');
$end = $end->modify('+15 minutes'); // to get the last interval, too

$interval = new DateInterval('PT15M');
$timerange = new DatePeriod($begin, $interval ,$end);

foreach($timerange as $time){
    echo $time->format("h:i") . "<br>";
}

演示!

于 2013-11-13T17:20:17.117 回答