<?php
$recur = 'FREQ=WEEKLY;BYDAY=TU';
$ex = explode(';', $recur);
$freq = str_replace('FREQ=','',$ex[0]);
$day = str_replace('BYDAY=','',$ex[1]);
$dates = [];
switch ($freq) {
case 'WEEKLY':
$date = new DateTime(); // set to correct day obvs
$dates[] = $date;
for ($x = 0; $x <= 52; $x ++) {
$date = clone $date;
$date->modify('+1 week');
$dates[] = $date;
}
break;
}
foreach($dates as $date) {
echo $date->format('Y-m-d')."\n";
}
- Output for 7.0.24 - 7.0.25, 7.1.10 - 7.1.20, 7.2.6 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- 2017-10-26
2017-11-02
2017-11-09
2017-11-16
2017-11-23
2017-11-30
2017-12-07
2017-12-14
2017-12-21
2017-12-28
2018-01-04
2018-01-11
2018-01-18
2018-01-25
2018-02-01
2018-02-08
2018-02-15
2018-02-22
2018-03-01
2018-03-08
2018-03-15
2018-03-22
2018-03-29
2018-04-05
2018-04-12
2018-04-19
2018-04-26
2018-05-03
2018-05-10
2018-05-17
2018-05-24
2018-05-31
2018-06-07
2018-06-14
2018-06-21
2018-06-28
2018-07-05
2018-07-12
2018-07-19
2018-07-26
2018-08-02
2018-08-09
2018-08-16
2018-08-23
2018-08-30
2018-09-06
2018-09-13
2018-09-20
2018-09-27
2018-10-04
2018-10-11
2018-10-18
2018-10-25
2018-11-01
- Output for 7.0.0 - 7.0.23, 7.1.0 - 7.1.9
- 2017-09-22
2017-09-29
2017-10-06
2017-10-13
2017-10-20
2017-10-27
2017-11-03
2017-11-10
2017-11-17
2017-11-24
2017-12-01
2017-12-08
2017-12-15
2017-12-22
2017-12-29
2018-01-05
2018-01-12
2018-01-19
2018-01-26
2018-02-02
2018-02-09
2018-02-16
2018-02-23
2018-03-02
2018-03-09
2018-03-16
2018-03-23
2018-03-30
2018-04-06
2018-04-13
2018-04-20
2018-04-27
2018-05-04
2018-05-11
2018-05-18
2018-05-25
2018-06-01
2018-06-08
2018-06-15
2018-06-22
2018-06-29
2018-07-06
2018-07-13
2018-07-20
2018-07-27
2018-08-03
2018-08-10
2018-08-17
2018-08-24
2018-08-31
2018-09-07
2018-09-14
2018-09-21
2018-09-28
preferences:
125.34 ms | 403 KiB | 182 Q