将日期减去DateTime对象

时间:2017-12-28 11:15:11

标签: php datetime subtraction

在我的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,并且它不正确。

请帮帮我吗?

1 个答案:

答案 0 :(得分: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);