В моем 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, и это неверно.
Не могли бы вы мне помочь?
Попробуйте что-то вроде этого
$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);
Других решений пока нет …