我在SSRS中有一个表达式,它返回2个日期时间值(h:m:s)之间的时差。它工作,但它显示单个数字的时间(即:1:2:3而不是01:02:03。我已经尝试格式化每个部分,但SSRS拒绝代码。这是我的原始代码生效单位数时间:
#prodSelect
我尝试在小时字段上使用Format来测试
=IIf(Fields!IncStatusActionType.Value = "TH",
DateDiff(DateInterval.Hour,CDATE(Fields!ActivityDate.Value), CDATE(Globals!ExecutionTime)) & ":" &
DateDiff(DateInterval.Minute,CDATE(Fields!ActivityDate.Value), CDATE(Globals!ExecutionTime)) Mod 60 & ":" &
DateDiff(DateInterval.Second,CDATE(Fields!ActivityDate.Value), CDATE(Globals!ExecutionTime)) Mod 60, "")
,其余的表达......
但它不起作用。我也尝试格式化为“##”和“0#”而没有运气。
任何建议都将不胜感激。
谢谢
答案 0 :(得分:1)
您可以使用.ToString("00")
格式化Long
的{{1}}结果:
DateDiff
答案 1 :(得分:1)
我明白了。我把格式化命令搞砸了。这是有效的,因为其他人也有类似的问题。
=IIf(Fields!IncStatusActionType.Value = "TH",
Format(DateDiff(DateInterval.Hour, CDATE(Fields!ActivityDate.Value), CDATE(Globals!ExecutionTime)), "00") & ":" &
Format(DateDiff(DateInterval.Minute, CDATE(Fields!ActivityDate.Value), CDATE(Globals!ExecutionTime)) Mod 60, "00") & ":" &
Format(DateDiff(DateInterval.Second, CDATE(Fields!ActivityDate.Value), CDATE(Globals!ExecutionTime)) Mod 60, "00"), "")