我试图从我的数据库中的几个不同列中单独累计所有时间日期,但是当每个时间的总数超过24小时时 - 我只打印00:00而不是实际总数。
据我所知,PHP日期“H”变量仅涵盖00 - 23,因此我不确定这样做的最佳方式。任何帮助将不胜感激。
我的SQL选择代码是:
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
我的观看代码作为“午餐”的一个例子是:
echo date('H:i', strtotime($day_breakdown->day_paid);
答案 0 :(得分:0)
你编写的MySQL代码很好,但是视图代码不能正常工作,因为它设计用于处理日期/时间而不是相对的时间段。
你应该通过将秒数除以这样来得出小时/分钟:
$hours = floor($seconds / 3600);
$minutes = floor($seconds / 60) % 60;