我正在嘗試使用我搜索過的自定義開始和結束時間變數來獲取時間間隔,并在此鏈接上找到其相關資訊。
我已經嘗試了以下代碼,但它給出了錯誤Uncaught Error: Call to a member function date() on string
$start = date("H:i",strtotime('08:30 AM'));
$end = date("H:i",strtotime('06:00 PM'));
for($i = $start; $i <= $end; $i->modify(' 30 MINUTE')){
echo $i->date("H:i");
}
uj5u.com熱心網友回復:
您還需要使用內置\DateTime類和\DateInterval類
$begin = new DateTime('08:30:00');
$end = new DateTime('12:45:00');
$interval = DateInterval::createFromDateString('30 minute');
$period = new DatePeriod($begin, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("H:i\n");
}
結果
08:30
09:00
09:30
10:00
10:30
11:00
11:30
12:00
12:30
如果時間角色轉移到另一天像這樣
$begin = new DateTimeImmutable('2022-03-01 16:00:00');
$end = (new DateTime())->createFromImmutable($begin)->add(new DateInterval('P1D'))->settime(8,30,0);
$interval = DateInterval::createFromDateString('30 minute');
$period = new DatePeriod($begin, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("d/m/Y H:i\n");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/438486.html
上一篇:提高C中嵌套回圈的性能
