我试图从数据库中的几个不同列中分别合计所有时间日期,但是当每个列的总数超过24小时时-我只打印00:00而不是实际总数。
我知道PHP日期"H"变量只覆盖00 - 23,所以我不确定最好的方法去做这件事。如有任何帮助,不胜感激。
我的SQL select代码是:SEC_TO_TIME( SUM( TIME_TO_SEC(lunch) ) ) AS lunch,
SEC_TO_TIME( SUM( TIME_TO_SEC(overtime) ) ) AS overtime,
SEC_TO_TIME( SUM( TIME_TO_SEC(day_paid) ) ) AS day_paid,
SEC_TO_TIME( SUM( TIME_TO_SEC(lunch) ) ) AS lunch,
SEC_TO_TIME( SUM( TIME_TO_SEC(holiday) ) ) AS holiday,
SEC_TO_TIME( SUM( TIME_TO_SEC(absence) ) ) AS absence
我的视图代码作为"lunch"的例子是:
echo date('H:i', strtotime($day_breakdown->day_paid);
你写的MySQL代码很好,但是视图代码不能工作,因为它被设计成与日期/时间一起工作,而不是与相对的时间周期。
你应该这样除以秒来计算小时/分钟:
$hours = floor($seconds / 3600);
$minutes = floor($seconds / 60) % 60;