如何跨月统计考勤天数

steven_ali 发布于 2012/11/22 13:41
阅读 1K+
收藏 0

如果在数据库中有这么一些数据

人员             请假开始时间                  请假结束时间

XX1              2012-10-28 08:30            2012-11-05 17:30

XX2              2012-11-02 08:30            2012-11-07 13:30

XX1              2012-11-08 13:30            2012-11-09 17:30

......多条记录

如何统计某人在11月份的请假时间,剔除休息日11月3、4为周末。

加载中
0
steven_ali
steven_ali
自己顶一下
0
tngou
tngou

先计数出两个时间的天数,n

然后得到请假的开始那天是星期几 如 m(0-6)

然后算出请假的周数   y=(n+m)/7    

计数出不满一周内 放假天数  如果大于5天放假一天
x=(n+m)%7 >5 ?  (n+m)%7 -5 : 0

n-2y-x:就是请假的天数。

0
p
pyman

周末这些就不应该算做请假。

既然不算就不写入数据库。只记录真正的请假天数不就可以了。

0
steven_ali
steven_ali

引用来自“pyman”的答案

周末这些就不应该算做请假。

既然不算就不写入数据库。只记录真正的请假天数不就可以了。

如果统计 11月份的,有个10月份的记录2012-10-28----------2012-11-2,对已这条记录在11月份统计的时候只算2天(11-1到11-2)的,(10-28-----10-31这4天的记录不包括在内),我现在想的就是把先从数据库查询出11月这个时间段的记录,然后把起始日期段拆成天,对天做判断然后累加,不过效率很低
0
steven_ali
steven_ali
感谢以上几位
返回顶部
顶部