解决方案是转换为秒并乘以8/3600
$lastUpdate = new DateTime($lastUpdate['lastUpdate']);
$currentTime = new DateTime("2013-03-24 19:45:55");
$interval = $lastUpdate->diff($currentTime);
//generate time string
$timeStr = "";
if($interval->y >0) { $timeStr .= $interval->y ." year" .($interval->y==1 ? " ": "s "); }
if($interval->m >0) { $timeStr .= $interval->m ." month" .($interval->m==1 ? " ": "s "); }
if($interval->d >0) { $timeStr .= $interval->d ." day" .($interval->d==1 ? " ": "s "); }
if($interval->h >0) { $timeStr .= $interval->h ." hour" .($interval->h==1 ? " ": "s "); }
if($interval->i >0) { $timeStr .= $interval->i ." minute" .($interval->i==1 ? " ": "s "); }
if($interval->s >0) { $timeStr .= $interval->s ." second" .($interval->s==1 ? " ": "s "); }
//add up all seconds
$seconds = ($interval->y * 365* 24 * 60 * 60)
+ ($interval->m * 30 * 24 * 60 * 60)
+ ($interval->d * 24 * 60 * 60)
+ ($interval->h * 60 * 60)
+ ($interval->i * 60)
+ $interval->s;
//multiply by your wage (in seconds)
$hourly_rate = 8.00;
$pay = ($seconds * $hourly_rate)/3600;
$pay = round($pay,2,PHP_ROUND_HALF_UP); //round to nearest cent
//print out the resulting time, rate & cost statement
printf("Total time of %sat hourly rate of $%.2f equates to $%.2f\n",$timeStr,$hourly_rate,$pay);