我正在參加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