我有一个统计数据,需要一个动态图像上的'最后更新'部分,并以小时表示。这是通过以下命令完成的:
$lastDate = $StatData->date;
$now = date("Y-m-d G:i:s");
$hours = (strtotime($now) - strtotime($lastDate)) / 3600;
使用imagettftext在图像上显示$hours就可以了。只是它的长度最多为16个字符。因此,为了解决这个问题,我尝试了以下操作:
if($hours < 10) {
substr($hours,0,4);
} else {
substr($hours,0,5);
}
的目的是显示不超过两个小数。结果没有改变。就好像代码根本不存在一样。
所以我的问题是两个中的一个:1:我如何让它工作?我知道有一种方法可以限制小数位数,而不使用substr,但它是什么?
use round()
:
$hours = round((strtotime($now) - strtotime($lastDate)) / 3600, 2); // 2 decimals
也可以使用number_format
$hours = number_format($hours, 2);