首页 > 解决方案 > 如何在两个日期之间回显几个工作日(仅限周一和周二)?

问题描述

我怎样才能像修改('下周三和周二')一样回应下周三和下周二?

如何在修改('下周三和周二')之类的两个日期之间回显下周三和下周二?

$tuesday= 'next Tuesday';
$wednesday= 'next Wednesday';

$date_from = new DateTime(date("d.m.Y", strtotime("2020-06-02")));
$date_to = new DateTime(date("d.m.Y", strtotime("2020-07-09")));

for ($datestart = clone $date_from; $datestart <= $date_to; $datestart->modify($wednesday)){
echo 'Day: '$datestart->format('Y-m-d').' Date: '.$datestart->format('Y-m-d');
}

Day: 3 Date: 2020-06-03
Day: 3 Date: 2020-06-10 ....

但我想回应:

Day: 3 Date: 2020-06-03
Day: 2 Date: 2020-06-09
Day: 3 Date: 2020-06-10
Day: 2 Date: 2020-06-16 ....

标签: phpdate

解决方案


    <?php
    $tuesday= 'next Tuesday';
    $wednesday= 'next Wednesday';

    $date_from = new DateTime(date("d.m.Y", strtotime("2020-06-02")));
    $date_to = new DateTime(date("d.m.Y", strtotime("2020-07-09")));

    $i=0;
    for ($datestart = clone $date_from; $datestart <= $date_to;){

       echo 'Day: '.$datestart->format('N').' Date: '.$datestart->format('Y-m-d')."<br>";

       if($i%2==0)
        {
          $datestart->modify($wednesday);
        }else
        {
          $datestart->modify($tuesday);
        }
      $i++;
    }``

    ?>

**Result-:**
Day: 2 Date: 2020-06-02
Day: 3 Date: 2020-06-03
Day: 2 Date: 2020-06-09
Day: 3 Date: 2020-06-10
Day: 2 Date: 2020-06-16
Day: 3 Date: 2020-06-17
Day: 2 Date: 2020-06-23
Day: 3 Date: 2020-06-24
Day: 2 Date: 2020-06-30
Day: 3 Date: 2020-07-01
Day: 2 Date: 2020-07-07
Day: 3 Date: 2020-07-08

推荐阅读