对于考勤系统中的班次,出现跨天的情况,在这种情况下,如何设计表结构,如何计算考勤结果
你用分钟数表示排班的起至时间,设置的时候就可以超过24:00 了。转换成实际时间,就用当天0点 + 开始分钟数~当天0点 + 结束分钟数,得到的时段自然就跨天了。
当天0点 + 开始分钟数
当天0点 + 结束分钟数
可以把日期转换成浮点数来计算。日期浮点数是这样的数:如果两个时间差1天,那么就差1,如果差1小时,就差1/24,以此类推。不用理会跨天还是跨月。它永远和时间差对应。
可以设计两个字段,一个字段是在岗设计,一个字段是跨天。
这样简单方便。