I am trying to add and subtract # of days to a date using date_add
and date_sub
, but I get some weird results. I assume this is an easy answer I am just not versed enough in PHP to know why.
Here is my code:
$y = new DateTime('2016-05-17');
$z2 = 7;
$tempy = $y;
$tempy->sub(new DateInterval('P' . $z2 . 'D'));
$startdate = date_format($tempy, "Y-m-d");
$y->add(new DateInterval('P' . $z2 . 'D'));
$enddate = date_format($y, "Y-m-d");
echo "Start: " . $startdate . " End: " . $enddate . "
";
This is the result:
Start: 2016-05-10 End: 2016-05-17
It looks like even though I use a temporary variable $tempy
for the start date it still modifies it and the end date is off.
EDIT: Expected results:
Start: 2016-05-10 End: 2016-05-24