ASP - 如何计算时间范围内的总小时和分钟

时间:2011-10-23 15:44:53

标签: asp.net sql sql-server

我需要准备一份年度管理报告,以显示所有员工在时间范围和月份内的总加班时间(OT)工作时间和分钟。

ms sql 2000数据库中的时间格式如下:

每条记录都包含FROM日期和时间。时间和日期&时间

报告布局如下:

我不知道如何划分和计算总小时数和时间范围内的分钟,因为每个OT记录将重叠若干时间范围和日期。

请帮忙。感谢。

1 个答案:

答案 0 :(得分:1)

SQL DateDiff function可用于计算分钟数,即

declare @fromDT datetime
declare @toDT datetime
set @fromDT = '10/22/2011 18:30'
set @toDT = '10/22/2011 22:45'

select @fromDT,@toDT,DATEDIFF(mi,@fromDt,@toDt),
    ltrim(str(DATEDIFF(mi,@fromDt,@toDt)/60))+':'+
    ltrim(str(DATEDIFF(mi,@fromDt,@toDt)%60)) as HoursMin

返回

StartTime                   End Time            Mins    HoursMin
2011-10-22 18:30:00.000 2011-10-22 22:45:00.000 255     4:15