如何进行正确的时间计算?

时间:2013-12-29 14:33:23

标签: php mysql

我有一个包含不同字段的MySQl表。

Date       Time_in  Time_out Break
2013-12-16 06:00:00 16:30:00 01:15:00

我可以用

计算Time-in和Time_out之间的时差(10:30)
TIME_FORMAT(TIMEDIFF(Time-in, Time_out),'%H:%i') AS pers_in

如何计算休息时间的实际工作时间? 我试过了

$worked= date('H:i', strtotime($row['pers_in']) - strtotime($row['Break']));

这将给出10:15而不是9:15的工作时间。 有什么建议吗?

2 个答案:

答案 0 :(得分:2)

这是否适用于SQL?

SELECT TIME_FORMAT(TIMEDIFF(TIMEDIFF(Time_in, Time_out), Break), '%H:%i')

答案 1 :(得分:2)

您可以简单地减去三次以获得正确的值;

SELECT TIME_FORMAT(time_out - time_in - break, '%H:%i') working_time
FROM Table1;

An SQLfiddle to test with