获取给定月份的每周报告

问题描述 投票:-1回答:2

我这里有一个获取所有日期的代码。我想要实现的是根据月份获得每周报告。我搜索了很多网站和论坛但却找不到任何东西。任何与此问题相关的帮助都非常感谢。

$startOfWeek = date("Y-m-d", strtotime("Monday this week"));
$currentDayOfMonth=date('Y-m-01');
$maxDays=date('t');
  for ($i=0; $i<$maxDays;$i++){
    echo date("l, d M", strtotime($currentDayOfMonth . " + $i day"))."<br />";
  }

这是上述代码的结果

Monday, 01 Apr
Tuesday, 02 Apr
Wednesday, 03 Apr
Thursday, 04 Apr
Friday, 05 Apr
Saturday, 06 Apr
Sunday, 07 Apr
Monday, 08 Apr
Tuesday, 09 Apr
Wednesday, 10 Apr
Thursday, 11 Apr
Friday, 12 Apr
Saturday, 13 Apr
Sunday, 14 Apr
Monday, 15 Apr
Tuesday, 16 Apr
Wednesday, 17 Apr
Thursday, 18 Apr
Friday, 19 Apr
Saturday, 20 Apr
Sunday, 21 Apr
Monday, 22 Apr
Tuesday, 23 Apr
Wednesday, 24 Apr
Thursday, 25 Apr
Friday, 26 Apr
Saturday, 27 Apr
Sunday, 28 Apr
Monday, 29 Apr
Tuesday, 30 Apr

我想要实现的是这样的

WEEK 1
Monday, 01 Apr
Tuesday, 02 Apr
Wednesday, 03 Apr
Thursday, 04 Apr
Friday, 05 Apr
Saturday, 06 Apr
Sunday, 07 Apr

WEEK 2
Monday, 08 Apr
Tuesday, 09 Apr
Wednesday, 10 Apr
Thursday, 11 Apr
Friday, 12 Apr
Saturday, 13 Apr
Sunday, 14 Apr

WEEK 3
Monday, 15 Apr
Tuesday, 16 Apr
Wednesday, 17 Apr
Thursday, 18 Apr
Friday, 19 Apr
Saturday, 20 Apr
Sunday, 21 Apr

WEEK 4
Monday, 22 Apr
Tuesday, 23 Apr
Wednesday, 24 Apr
Thursday, 25 Apr
Friday, 26 Apr
Saturday, 27 Apr
Sunday, 28 Apr

WEEK 5
Monday, 29 Apr
Tuesday, 30 Apr

你知道如何实现这个目标吗?

php
2个回答
0
投票

你的意思是这样的吗?

$startOfWeek = date("Y-m-d", strtotime("Monday this week"));
$currentDayOfMonth=date('Y-m-01');
$maxDays=date('t');
  for ($i=0, $week = 1; $i<$maxDays;$i++){
    if ($i%7==0) {
        if ($week > 1) echo "<br/>";
        echo "WEEK " . $week++ . "<br/>";
    }
    echo date("l, d M", strtotime($currentDayOfMonth . " + $i day"))."<br />";
  }

0
投票

检查天数是否可被7整除并打印一周:

$startOfWeek = date("Y-m-d", strtotime("Monday this week"));
$currentDayOfMonth=date('Y-m-01');
$maxDays=date('t');

$weekNo = 1;
echo "WEEK 1";

for ($i=0; $i<$maxDays;$i++){
    if (($i + 1)%7 == 0) {
        $weekNo++;

        echo "<br />WEEK ".$weekNo;
    }

    echo date("l, d M", strtotime($currentDayOfMonth . " + $i day"))."<br />";
}
© www.soinside.com 2019 - 2024. All rights reserved.