我正在制作一个工作时间跟踪数据库,需要对工作时间进行一些计算。
最简单的操作可以通过。
AddTime(`starttime`,-`endtime`)
但是一旦我需要计算更多的数字,我就失败了。
假设工作可以跨越午夜和开始时间:20:00:00和结束时间06:00:00我会做类似的事情:
if(`starttime`<`endtime`, AddTime(`endtime`,-`starttime`),AddTime(`endtime`, AddTime (-`starttime`,24:00:00))) FROM tid WHERE 1
但这并没有被接受。
当我需要增加午休的可能性时,它变得更加复杂。
怎么办?
答案 0 :(得分:0)
为了简化计算,我建议您在开始和结束时间,同时在同一字段中存储开始和结束日期。这样,您只需在MySQL查询中执行以下操作即可找到工作时间:
TIMESTAMPDIFF(HOUR, `start_datetime`, `end_datetime`);