SSRS格式计算的时间跨度为dd:hh:mm:ss

时间:2016-02-17 16:08:01

标签: reporting-services ssrs-2008-r2 rdl

我有一个报告,其中一个字段计算表达式中的时间跨度,例如

=Fields!Date1.Value-Fields!Date2.Value

我想以dd:hh:mm:ss格式显示天数,小时数,分钟数和秒数。如果我只是离开表达式它有点工作,但我得到毫秒,我不想要,如果没有几天,那么该值消失。

我看过很多使用格式化来获得HH的例子:mm:ss但不是如何做日子。

2 个答案:

答案 0 :(得分:1)

尝试:

=Floor(DateDiff("s",Fields!Date1.Value,Fields!Date2.Value) / 86400) & ":" & 
Format(DateAdd("s", Fields!Date1.Value-Fields!Date2.Value, "00:00:00"), "HH:mm:ss")

它将为您提供dd:HH:mm:ss格式。注意Date1必须大于Date2

答案 1 :(得分:0)

根据@ alejandro的回答,我最终得到了

=Format(Floor(DateDiff("s",Fields!Date1.Value,Fields!Date2.Value)/86400),"00") 
& ":" & Format(DateAdd("s", (Fields!Date2.Value-Fields!Date1.Value).TotalSeconds, 
"00:00:00"), "HH:mm:ss")
只做直接减法似乎不起作用。