Php 带有'的substr问题;上次更新';价值

Php 带有'的substr问题;上次更新';价值,php,datetime,substring,substr,Php,Datetime,Substring,Substr,我的统计数据需要动态图像上的“上次更新”部分,以小时表示。这是通过以下步骤完成的: $lastDate = $StatData->date; $now = date("Y-m-d G:i:s"); $hours = (strtotime($now) - strtotime($lastDate)) / 3600; if($hours < 10) { substr($hours,0,4); } else { substr($hours,0,5); } 使用imaget

我的统计数据需要动态图像上的“上次更新”部分,以小时表示。这是通过以下步骤完成的:

$lastDate = $StatData->date;
$now = date("Y-m-d G:i:s");
$hours = (strtotime($now) - strtotime($lastDate)) / 3600;
if($hours < 10) {
    substr($hours,0,4);
} else {
    substr($hours,0,5);
}
使用imagettftext在图像上显示$hours效果很好。只是它的长度最多有16个字符。为了解决这个问题,我尝试了以下方法:

$lastDate = $StatData->date;
$now = date("Y-m-d G:i:s");
$hours = (strtotime($now) - strtotime($lastDate)) / 3600;
if($hours < 10) {
    substr($hours,0,4);
} else {
    substr($hours,0,5);
}
if($hours<10){
substr(小时,0,4);
}否则{
substr(小时,0.5);
}
其目的是显示不超过两个小数。结果没有改变。好像密码根本就不存在

所以我的问题是两个问题中的一个:1:我如何让它工作?2:我知道有一种方法可以限制小数位数,而不使用substr,但它是什么?可能是更好的解决方案。

使用
round()

你也可以使用


成功了!我不得不稍微修改一下,因为我确实需要脚本其他部分的额外精度,但我能够执行$lastupdated。'hours ago',其中$lastupdated=round($hours,2)。干杯