2011-09-09 49 views
2
emp = moduleEmployee.ReturnEmployeeDAO().FetchEmployeeByID(emp); 

DateTime shiftStartTime = emp.Shift.StartTime; 
DateTime shiftEndTime = emp.Shift.EndTime; 

DateTime attTime = att.Time; 

根據上面的代碼,我的shiftStartTime是11.00 PM,shiftEndTime是7.00 AM。 attTime或signIntime是1.00 AM。那麼如何計算shiftStartTime和attTime之間的差異。差距應該是2小時。如何獲取兩個DateTime對象之間的時差?

請幫助.....

感謝Rusho

+1

24小時添加到登錄時如果移位的結束時間少比班次的開始時間和登錄時間已過午夜。 –

回答

2

要問的是這樣的:?

var timeSpan = (attTime - shiftStartTime); 

結果是一個時間跨度,您可以檢查有多少小時,分鐘,日,秒等......

+0

謝謝大衛。它的工作... – PAryan

+0

@Panan,你需要接受這個答案(或另一個)。這與投票不同。 – mdahlman

3
TimeSpan diff = att.Time.Subtract(emp.Shift.StartTime); 
5

如果你減去兩個DateTime對象,你會得到一個TimeSpan

一個TimeSpan然後有屬性TotalMillisecondsTotalSeconds

你想要TimeSpan.TotalHours

int shiftHours = (attTime - shiftStartTime).TotalHours; 
相關問題