簡體   English   中英

循環開始結束時間加上第二天的分鍾

[英]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);

}

分享 PHP 代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM