如何使用COT计算开始日期和结束日期之间的日期

时间:2012-11-30 02:46:59

标签: sql-server

目前我正在使用Code On Time来开发我的系统。

我有一个默认的当前日期和时间,在用户从查找中选择一个完成的日期后,我想计算用户已经过了多少天和几小时。 有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

这就是你要追求的吗?

declare @dateTimeNow datetime = getutcdate()
, @dateTimeThen datetime = '2012-11-28 12:00:00'

select case when DATEPART(hour,(@dateTimeNow - @dateTimeThen)) >0 then day(@dateTimeNow - @dateTimeThen)-1 else day(@dateTimeNow - @dateTimeThen) end days
, DATEPART(hour,(@dateTimeNow - @dateTimeThen)) hours

select DATEDIFF(day,@datetimethen, @datetimenow) - case when (DATEDIFF(Hour,@datetimethen, @datetimenow)) % 24 = 0 then 0 else 1 end  days
, DATEDIFF(hour,@datetimethen, @datetimenow) % 24 hours