Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有一种方法可以通过以天数、月数或年数为参数计算工作日来获得日期_Php - Fatal编程技术网

Php 有没有一种方法可以通过以天数、月数或年数为参数计算工作日来获得日期

Php 有没有一种方法可以通过以天数、月数或年数为参数计算工作日来获得日期,php,Php,我正在处理此应用程序,我希望在选择天数、月数或年数时,通过计算工作日来获得付款日期,如:10天、6个月、2年。下面的代码成功地计算了天数,但是我只需要计算工作天数,谢谢你的帮助 function getPayDate( $remittance ) { //todays date $todayDate = date('Y-m-d'); //split the remittance into %d %s $rem = explode(' ', $remittance)

我正在处理此应用程序,我希望在选择天数、月数或年数时,通过计算工作日来获得付款日期,如:10天、6个月、2年。下面的代码成功地计算了天数,但是我只需要计算工作天数,谢谢你的帮助

function getPayDate( $remittance ) {
    //todays date
    $todayDate = date('Y-m-d');
    //split the remittance into %d %s
    $rem = explode(' ', $remittance);

    //$d int %d in numbers
    $d = $rem[0];
    //retrieve string from day(s) month(s) year(s)
    $r = substr($rem[1], 0, -3);

    $date = new DateTime($todayDate);

    //check for days months and years
    switch ($r) {
        case 'day':
            $interval = new DateInterval('P'.$d.'D');
            break;
        case 'month':
            $interval = new DateInterval('P'.$d.'M');
            break;
        case 'year':
            $interval = new DateInterval('P'.$d.'Y');
            break;
        default:
            break;
    }

    
    //add to the interval to the present date
    $date->add($interval);

    return $date->format('Y-m-d');
}
echo getPayDate( '25 day(s)' );

你如何计算出哪些是工作日,毕竟9天可能是7个工作日或5个工作日。这些年来,你怎么知道闰年、公共假日和其他各种例外情况呢?我真的不知道该怎么做,我需要帮助。重点是每个人对工作日的定义都是不同的。您需要制定一些规则来定义应用程序的工作日。您可能需要在数据库中存储一些关于它的信息。一旦你有了一些规则,可以告诉我们它们是什么,我们可能会更容易提供帮助。但是,当我们不知道规则是什么时,我们就不能为某些东西编写代码