вычесть дни в объект DateTime

В моем PHP-коде я должен вычесть один день из объекта DateTime.
Когда дата в том же году, она запускается, но когда я пытаюсь вычесть один день из 1-го дня года, она не запускается.

Код следующий:

$date = date_create('20180101');
$edition_date = $date->format('Ymd');
$edition=$date->format('Ymd').'piacenza';
$img_url = false;
$count = 0;
do {
++$count;
$url='http://www.url.it/url/webservice/getThumb.jsp?edition='.$edition.'&height=400&half=true';
$img_url = @imagecreatefromjpeg($url);
if (!$img_url) {
$edition_date = $edition_date - 1;
$edition = $edition_date.'piacenza';
}
} while (!$img_url && $count < 5);

В этом случае рассчитанная дата является 20180096, и это неверно.

Не могли бы вы мне помочь?

0

Решение

Попробуйте что-то вроде этого

$date = date_create('20180101');

$edition=$date->format('Ymd').'piacenza';
$img_url = false;
$count = 0;
do {
++$count;
$url='http://www.url.it/url/webservice/getThumb.jsp?edition='.$edition.'&height=400&half=true';
$img_url = @imagecreatefromjpeg($url);

if (!$img_url) {
$edition = $date->modify('-1 day')->format('Ymd').'piacenza';
}
} while (!$img_url && $count < 5);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]