PHP - 获取下5个工作日的日期?

Dan*_*Dan 1 php date strtotime

我正在尝试创建接下来5个工作周的数组(周一至周五,今天除外).我知道世界各地的工作周各不相同,但这对我要做的事情并不重要.

因此,例如,如果今天是星期三,我想要当前星期四和星期五以及下一周的星期一,星期二和星期三的日期.

我认为这会奏效:

$dates = array();

for ($i = 1; $ < 6; $i ++)
{
    $dates[] = date('Y-m-d', strtotime('+ '.$i.' weekday'));
}
Run Code Online (Sandbox Code Playgroud)

但是对于今天,它给了我:

  • 星期一1号
  • 周二2号
  • 周三3日
  • 周四4号
  • 星期天7号!

任何建议表示赞赏

谢谢

Ale*_*dro 8

试试这个

$dates = array();
$date = new DateTime();

while (count($dates)<5)
{
    $date->add(new DateInterval('P1D'));
    if ($date->format('N')<6)
        $dates[]=$date->format('Y-m-d');
}
Run Code Online (Sandbox Code Playgroud)