- abs: documentation ( source)
<?php
$weekModifier = 1;
$date = new DateTime()+3;
if($date->format('N') !== 1) {
$date->sub(new DateInterval('P'. $date->format('N') . 'D'));
}
$interval = new DateInterval('P'.abs($weekModifier).'W');
if($weekModifier > 0) {
$date->add($interval);
} else {
$date->sub($interval);
}
for($i = 1; $i <= 7; $i++) {
echo $date->add(new DateInterval('P1D'))->format('l Y-m-d') . "<br>\n";
}
?>