0

How can I echo next Wednesday and next Tuesday like modify('next Wednesday and Tuesday')?

How can I echo next Wednesday and next Tuesday between two dates like modify('next Wednesday and Tuesday')?

$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 ....

but I want to echo:

Day: 3 Date: 2020-06-03
Day: 2 Date: 2020-06-09
Day: 3 Date: 2020-06-10
Day: 2 Date: 2020-06-16 ....
Andreas
  • 23,610
  • 6
  • 30
  • 62
Sarah
  • 1
  • 1

1 Answers1

1
    <?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