得到两个时间戳之间的范围

时间:2014-05-06 18:18:55

标签: mysql sql

我希望在两个时间戳之间得到总小时数。 看看我的代码

$sql="UPDATE timekeeping SET end= timestamp(NOW()),totalrange = ((end- begin) - 1)  
WHERE end IS NULL and fullname = '$whoareyou[fullname]'";

但在此代码中" totalhours =((end-begin) - 1)"是错的我觉得:)

我希望这能显示这样的东西

2014-05-07 02:00:38.000000 - 2014-05-07 06:00:38.000000   = 4

和类似的东西

2014-05-07 02:00:38.000000 - 2014-05-07 06:30:38.000000   = 4.30

但我不知道在哪里或做什么。

请帮助任何人。我已经完成了我的研究工作,发现没有合适的答案,我可以理解,因为这是我第一次使用php。

1 个答案:

答案 0 :(得分:1)

以下SQL查询应该可以解决这个问题:

SELECT TIMESTAMPDIFF(HOUR, '2012-06-06 13:13:55', '2012-06-06 15:20:18');

将第二个参数替换为上次登录的日期,将第三个参数替换为当前登录的日期。

这将返回一个等于第一个时间戳和第二个时间戳之间的小时数的整数。

编辑:如果你还希望得到分钟数,那么用'MINUTE'替换'HOUR'并做一些数学计算得到Hours.Minutes的十进制值。