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

SSRS Format calculated timespan in dd:hh:mm:ss

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

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

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

我看过很多使用格式化来获取 HH:mm:ss 的示例,但没有看到如何处理这些日子。

尝试:

=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.

根据@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")

直接做减法似乎行不通。