簡體   English   中英

PHP根據一周中的當前日期獲取一周中的下幾天

[英]PHP get next days of the week depending on current day of the week

我必須用訪客人數填寫圖表,但是在顯示當前周數據時,我將第二天的值設為0。

EG:今天是星期一,所以我將2016-06-20作為列值,但下一個列值名稱為0,因為我接下來的幾天沒有數據。

圖表索引必須是這樣的:

|| 20 Jun 2016 || 21 Jun 2016 || 22 Jun 2016 || 23 Jun 2016 || etc.

現在我得到了:

|| 20 Jun 2016 || 1 Jan 1970 || 1 Jan 1970 || 1 Jan 1970 || etc.

因此,我嘗試使用此功能填充缺少的日子:

function get_day($count) {
    if ($count == NULL) {
        $dweek = date("w");
        for ($i = 1; $i <= 6; $i++) {
            echo $i;
            switch ($i) {
                case 1:
                    $day = $dweek+1;
                    break;
                case 2:
                    $day = $dweek+2;
                    break;
                case 3:
                    $day = $dweek+3;
                    break;
                case 4:
                    $day = $dweek+4;
                    break;
                case 5:
                    $day = $dweek+5;
                    break;
                case 6:
                    $day = $dweek+6;
                    break;
            }
        }
        $current = date("d M Y",strtotime("+$day day"));
    } else {
        $current = date("d M Y",strtotime($count));
    }
    return $current;
}

但是現在使用它我得到:

|| 20 Jun 2016 || 27 Jun 2016 || 27 Jun 2016 || 27 Jun 2016 || etc.

所以我想念一些東西,但是兩個小時后我看不到該怎么辦。

感謝您的幫助。

使用datetimedatetime.modify

$res = "|| ";

for ($d = 1; $d < 8; $d++) {
    $dt = new DateTime();
    $m = $dt->modify("+$d days");
    $f = $m->format("d M Y");
    $res .= $f . " || ";
}

echo $res;
$date = '2016-06-20'; //replace this by your date
$statement = '';
for($i = 0; $i < 7; $i++){
    $statement.= ' || ' . date('d M y', strtotime("$date +$i day"));
}
echo $statement;

現在,您可以使用日期而不是$ date。

演示

暫無
暫無

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

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