我正在参加asp.net的考勤软件,在这里我必须做一个报告,告诉用户有关小时和一切...迄今为止,我已经创建了基本功能的系统,即用户可以检查和结帐...我被困在做报告...计算一个月的工作时间
我必须计算每个月的工作时间,因此用户可以比较他的小时与总小时数......我想到的是创建一个存储过程,当给定一个月名称和一年时,返回一个包含该月份工作时间的int ......但我似乎可以得到它...... 。
迄今为止,我发现如何创建一个给定月份的日期和一个日期,并找出了该月的最后一天,使用我可以找出在月的总天数...现在我似乎无法弄清楚我怎么知道多少天减去获得工作日。
这里是到目前为止代码..
declare
@y int,
@m int,
@d int,
@date datetime
set @y = 2012
set @m = 01
set @d = 01
----To create the date first
select @date = dateadd(mm,(@y-1900)* 12 + @m - 1,0) + (@d-1)
----Last Day of that date
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@date)+1,0))
任何帮助将不胜感激你们,谢谢提前....
请注意这里。一个工作日的定义是什么?周一至周五?那么兼职工作者,周末工作者,银行假期,建筑物关闭的日子,培训日等等呢?我的经验表明,您最灵活的方法是创建一个充当日历的表格 - 您可以预先填充当天可以*工作的小时数,当天可以*正常工作的小时数的地方,实际上*能够*当天工作,并且当天*实际上*工作。那么你有数据而不是算法,数据可以适应非常规情况。 – MatBailie 2012-08-02 09:53:58