使用PHP如何将星期六纳入工作日?

使用PHP如何将星期六纳入工作日?,php,date,Php,Date,但是,我已设法使以下代码在“工作日”工作,并排除了我的特殊日子: 我提供“7个工作日无押金”服务,尽管我的商店只在周日关门。所以我需要我的“工作日”包括所有周六的 $tdate = date("Y-m-d"); $specialdays = ['22-09-2017', '03-10-2017', '14-11-2017', '17-12-2017']; $i = 7; $sevenbusinessdays = date('d-m-Y', strtotime($tdate . ' +' . $i

但是,我已设法使以下代码在“工作日”工作,并排除了我的特殊日子:

我提供“7个工作日无押金”服务,尽管我的商店只在周日关门。所以我需要我的“工作日”包括所有周六的

$tdate = date("Y-m-d");
$specialdays = ['22-09-2017', '03-10-2017', '14-11-2017', '17-12-2017'];
$i = 7;
$sevenbusinessdays = date('d-m-Y', strtotime($tdate . ' +' . $i . ' 
Weekday'));

while (in_array($sevenbusinessdays, $specialdays)) {
   $i++;
   $sevenbusinessdays = date('d-m-Y', strtotime($tdate . ' +' . $i . ' Weekday'));
}
我相信使用上述代码,答案与

date('w', strtotime($tdate)) == 6
尽管我不确定如何将其合并。我尝试了以下方法,但无效:

$tdate = date("Y-m-d");
$specialdays = ['22-09-2017', '03-10-2017', '14-11-2017', '17-12-2017'];
$i = 7;
$sevenbusinessdays = date('d-m-Y', strtotime($tdate . ' +' . $i . ' Weekday' . date('w', strtotime($tdate)) == '6'));

while (in_array($sevenbusinessdays, $specialdays)) {
    $i++;
    $sevenbusinessdays = date('d-m-Y', strtotime($tdate . ' +' . $i . ' Weekday' . date('w', strtotime($tdate)) == '6'));
}

print $sevenbusinessdays;
这完全失败了哈哈,任何指导和帮助都将不胜感激。我想我已经很接近了,只是不明白


感谢您的帮助,非常感谢。:-)

如果出现以下情况,则需要添加到循环中的天数:

  • 今天不是星期天或星期天
  • 它不在特别日子清单上
直到你增加了7天

<?php
$tdate = date("Y-m-d");
$specialdays = ['15-09-2017', '20-09-2017', '14-11-2017', '17-12-2017'];
$days = 0;
$i = 0;
while ($days < 7) {
    $i++;
    $day = strtotime($tdate . ' +' . $i . ' day');
    if (date("w", $day) === "0" || in_array(date("d-m-Y", $day), $specialdays)) {
        continue;
    }
    $days++;
}
$sevenbusinessdays = date('d-m-Y', strtotime($tdate . ' +' . $i . ' day'));
echo $sevenbusinessdays;

你想做什么?我看不出你想做什么。那些特别的日子是什么?输入是什么,输出是什么,预期输出是什么。@Andreas很抱歉,我忘了包括$tdate是预设日期。不管怎样,伊舍格给了我一个有用的例子。感谢您的回复,为什么每次迭代都要更新
$sevenbusinessdays
变量?