如果有人可以帮助我解决如何将我的时间戳功能转换为有效的工资单服务,我将不胜感激。
现在,当用户登录我的网站时,他们可以单击按钮中的时钟,将datetime
格式的时间戳加密为SQL。
格式为:2013-05-12 09:19:00
in
列中启动时钟。out
列。 它存储在以下列中:
一个函数如何查看/工作以获取员工的总时数?
至少,请指出正确的方向来解决这个问题。
答案 0 :(得分:1)
您可以利用MySQL函数SUM
和TIMESTAMPDIFF
为您计算:
SELECT SUM(TIMESTAMPDIFF(HOUR, `in`, `out`)) AS hours
FROM myTable
WHERE userid = 1
答案 1 :(得分:0)
我会选择具有用户ID的所有行,并且在PHP中将获得如下函数:
$time = 0;
while($row = $query->fetch_object())
{
$time += (strtotime($row->out) - strtotime($row->in));
}
然后$time
将是您可以用自己喜欢的方式格式化的总时间。
答案 2 :(得分:0)
我会使用mysql查询:
select SEC_TO_TIME(SUM(TIME_TO_SEC(session_duration))) as total_session_duration
from (
select timediff(`in`, `out`) as session_duration
from employees_log #your table_name here
where userid = [your user id]
) as t_duration
无法测试,但我很确定这应该可行。