将日期减去DateTime对象

问题描述 投票:0回答:1

在我的PHP代码中,我要从DateTime对象中减去一天。当日期在同一年,它会运行,但是当我尝试从一年的第一天减去一天时,它就不会运行。

代码如下:

$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,它是不正确的。

你能帮我吗?

php datetime subtraction
1个回答
1
投票

尝试这样的事情

$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);
© www.soinside.com 2019 - 2024. All rights reserved.