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

Asp.net ASP-如何计算时间范围内的总小时和分钟数,asp.net,sql,sql-server,Asp.net,Sql,Sql Server,我需要准备一份年度管理报告,以显示在时间范围和月份内所有员工的总加班(OT)工作时间和分钟数 ms sql 2000数据库中的时间格式如下: 每个记录将包含起始日期和时间以及截止日期和时间 报告布局如下所示: 我不知道如何划分和计算时间范围内的总小时和分钟,因为每个加班记录将重叠几个时间范围和日期 请帮忙。谢谢 JoeSQL可用于计算分钟数,即 declare @fromDT datetime declare @toDT datetime set @fromDT = '10/22/2011

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

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

每个记录将包含起始日期和时间以及截止日期和时间

报告布局如下所示:

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

请帮忙。谢谢

Joe

SQL可用于计算分钟数,即

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
SQL可用于计算分钟数,即

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

谢谢如果ot记录从2011-01-01 09:00开始到2011-01-01 11:30。如何为年度报告添加09:01-10:00的1小时、10:01-11:00的1小时、11:01-11:30的30分钟?谢谢。如果ot记录从2011-01-01 09:00开始到2011-01-01 11:30。我如何才能为年度报告添加09:01-10:00的1小时、10:01-11:00的1小时、11:01-11:30的30分钟?可能设置诸如
00:00–00:59
01:00–01:59
等范围更有意义,而不是
00:01–01:00
01:01–02:00
等。至少,前者比后者更常见(我认为)。可能有像
00:00–00:59
01:00–01:59
等的范围更有意义。而不是
00:01–01:00
01:01–02:00
等。至少,前者比后者更常见(我认为)。