PHP $格式在30天后不会修剪

时间:2017-06-23 08:17:36

标签: php

我正在构建PHP倒计时,我的格式有问题,如果不到10天,我需要添加0,如果超过9则删除0 `

    for($i = 0; $i <= 60; $i++)
    {$interval = date_diff($future_date, $now);
    if($future_date < $now){
        // Open the first source image and add the text.
        $image = imagecreatefrompng('images/countdownBlank.png');
        // $text = $interval->format('SALE OVER');
        $font['size'] = 38;
        imagettftext ($image , $font['size'] , $font['angle'] , $font['x-offset-over'] , $font['y-offset-over'] , $font['color'] , $font['file'], $text );
        ob_start();
        imagegif($image);
        $frames[]=ob_get_contents();
        $delays[]=$delay;
        $loops = 1;
        ob_end_clean();
        break;
    } else {
        // Open the first source image and add the text.
        $image = imagecreatefrompng('images/img_countdown_bg.png');
        //$text = $interval->format('0%a %H %I %S');
        //$text = $interval->format('0%a %H %I');
        $length = 2;
        $format = ($interval -> d < 10 ? '0' : null).'%a %H %I';
        $text = $interval -> format($format);
        imagettftext ($image , $font['size'] , $font['angle'] , $font['x-offset'] , $font['y-offset'] , $font['color'] , $font['file'], $text );
        ob_start();
        imagegif($image);
        $frames[]=ob_get_contents();
        $delays[]=$delay;
        $loops = 0;
        ob_end_clean();
    }

    $now->modify('+1 second');
}`

我可以看到我的日期正在以下代码中修剪:

$format = ($interval -> d < 10 ? '0' : null).'%a %H %I'; $text = $interval -> format($format);

这是最终结果: Final result

非常感谢您的帮助

1 个答案:

答案 0 :(得分:2)

更改

$format = ($interval -> d < 10 ? '0' : null).'%a %H %I';

$format = ($interval->days < 10 ? '0' : '').'%a %H %I';

ddays之间的差异:对于35天的差异,您在$interval->days中获得值35,但在$interval->d中只获得5,因为剩余的30天结束于$interval->m