Php 获取完成日期,给定开始日期和周计划

Php 获取完成日期,给定开始日期和周计划,php,date,dayofweek,Php,Date,Dayofweek,当然,我在使用PHP获取完成日期时遇到了一个问题,如下所示: 输入: 开始日期(例如:2019年8月23日) 每周计划(例如:周一、周二、周五) 课程总数(例如:8) 输出:课程的结束日期(是2019年9月9日,包括上述输入) 一节课就是一天。来自最终用户的输入字段: 对不起,我的英语不好。多谢各位 如果我理解正确,请尝试此代码。) 如果我理解正确,请尝试使用此代码。) 在我看来,它会在还有课的时候循环,在星期一、星期二或星期五减法。 循环后输出日期 $start = "8/23/2019

当然,我在使用PHP获取完成日期时遇到了一个问题,如下所示:

输入:

  • 开始日期(例如:
    2019年8月23日
  • 每周计划(例如:
    周一、周二、周五
  • 课程总数(例如:
    8
输出:课程的结束日期(是
2019年9月9日
,包括上述输入)

一节课就是一天。来自最终用户的输入字段:


对不起,我的英语不好。多谢各位

如果我理解正确,请尝试此代码。)


如果我理解正确,请尝试使用此代码。)


在我看来,它会在还有课的时候循环,在星期一、星期二或星期五减法。
循环后输出日期

$start = "8/23/2019";
$days = ["Monday", "Tuesday", "Friday"];
$n = 8;

$d = strtotime($start);
while($n>0){
    //See if day is in days array
    if(in_array(date("l", $d), $days)){
        $n--;
    }
    $d += 86400; // go to next day
}

echo date("m/d/Y", $d-86400); //-86400 because  the loop adds one at the end.

在我看来,它在还有课的时候循环,在星期一、星期二或星期五减法。
循环后输出日期

$start = "8/23/2019";
$days = ["Monday", "Tuesday", "Friday"];
$n = 8;

$d = strtotime($start);
while($n>0){
    //See if day is in days array
    if(in_array(date("l", $d), $days)){
        $n--;
    }
    $d += 86400; // go to next day
}

echo date("m/d/Y", $d-86400); //-86400 because  the loop adds one at the end.

你从用户端获得了哪些字段的输入?MohitKumar,我刚刚更新了问题中最终用户的输入字段。你从用户端获得了哪些字段的输入?MohitKumar,我刚刚更新了问题中最终用户的输入字段。哦,非常简短和清楚。我认为这是最好的解决方案,非常简短和清晰。我认为这是最好的解决办法