我想使用date_add
和date_sub
加上和減去天數到日期,但我得到了一些奇怪的結果。我認爲這是一個簡單的答案我只是不夠精通PHP知道爲什麼。PHP - 使用DateInterval添加和減少天怪異的錯誤
這裏是我的代碼:
$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 . "\r\n";
這是結果:
Start: 2016-05-10 End: 2016-05-17
看起來即使我使用一個臨時變量$tempy
開始日期仍修改它,結束日期已關閉。
編輯: 預期結果:
Start: 2016-05-10 End: 2016-05-24
您的預期成果是什麼? –
您應該使用DateTime :: format()而不是混合OO和程序代碼(使用date_format) – JesusTheHun
請參閱我所做的編輯。 – Webtron