[英]loop over start-end time add minutes with next day
我正在嘗試將給定時間增加 15 分鍾,直到達到結束時間。 我一直在查看循環,直到它以特定的時間間隔到達結束時間,但此解決方案僅對同一天內的時間有幫助。
如果出現如下所示的情況,它將不起作用。
$startTime = '16:00';
$endTime = '02:00';
我正在尋找的 output 如下:
16:00
16:15
16:30
16:45
17:00
17:15
17...
.....
01:45
02:00
假設現在是 16:13,我該如何從 16:30 開始 output? 甚至更好,例如 30 分鍾后,例如 16:45。
任何幫助表示贊賞。
我認為下一個解決方案可以提供幫助:
<?php
// get current time and round it to next half hour
$start = (intdiv(time(),(30 * 60)) + 1) * (30*60);
// since intdiv introduced in PHP 7 in previous PHP versoins
// intval() function can be used instead
$start = (intval(time()/(30 * 60)) + 1) * (30*60);
$end = strtotime('02:00');
// if end time less then start add one day
if ($end < $start) $end += 60 * 60 * 24;
while ($start <= $end) {
echo date('H:i',$start) . PHP_EOL;
// Increment Start date
$start += (15*60);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.