php函数计数30天但没有结束周或假期

时间:2018-05-24 20:18:50

标签: php function date calculator days

我需要帮助。

我需要在30天内创建php函数。但如果最后一天是周末或假日。所以我必须添加日子,以便最后一天是一个工作日。 30天不能在周末或假日结束。我搜索论坛和谷歌,但我没有找到任何东西。我找到了工作日,但不是我需要的。谢谢你的帮助。

          $holiday = array(
            '01-01',
            '01-06',
            '03-30',
            '04-01',
            '04-02',
            '05-01',
            '05-08',
            '07-05',
            '08-29',
            '09-01',
            '09-15',
            '11-01',
            '11-17',
            '12-24',
            '12-25',
            '12-26',
          );

          $count = 0;
          $temp = strtotime($row['prijem']); //example as today is 2016-03-25
          while($count<30){
              $newdate = strtotime('+1 day', $temp);
              $nextnewdate = date('m-d', $newdate);
              if(!in_array($nextnewdate, $holiday)){
                  $count++;
              }
              $temp = $newdate;
          }

          $end = date("d.m.Y", $temp);

开始日期是今天24.05.2018。截止日期是23.06.2018。

现在我需要始终在结束日期是周末或假日转换为营业日。因此,如果结束日期是星期六,则结果将在星期一25.06.2018。再说一遍,如果是假期在一个工作日增加更多的日子。

1 个答案:

答案 0 :(得分:0)

不需要那个循环,因为你只关心第30天是否是一个工作日(而不是关心,如果每天之间是关心)。只需直接添加30天,然后检查结果。

@Bean

DEMO