我正在构建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
非常感谢您的帮助
答案 0 :(得分:2)
更改
$format = ($interval -> d < 10 ? '0' : null).'%a %H %I';
到
$format = ($interval->days < 10 ? '0' : '').'%a %H %I';
d
和days
之间的差异:对于35天的差异,您在$interval->days
中获得值35,但在$interval->d
中只获得5,因为剩余的30天结束于$interval->m
。