【问题标题】:Display Seconds Count in HH:MM:SS format in SSRS 2008在 SSRS 2008 中以 HH:MM:SS 格式显示秒数
【发布时间】:2012-11-20 20:50:12
【问题描述】:
我有一个表,其中有一列 TotalTime,它是以秒为单位的整数值。
在 Visual Studio / SSRS 2008 中,我想以 HH:MM:SS 格式显示它。
谢谢!
【问题讨论】:
-
我对 Chris 提供的答案的唯一问题是它似乎没有考虑四舍五入(即 5.5 秒变为 5 秒,而不是四舍五入为 6)。虽然我不能将解决方案归功于该解决方案,但我能够使用推荐的自定义代码 here 来实现该解决方案。
标签:
reporting-services
ssrs-2008
【解决方案1】:
只需使用将该秒数添加到零时间值的表达式
=Format(DateAdd("s", Fields!TotalTime.Value, "00:00:00"), "HH:mm:ss")
如果大于 24 小时,则可以使用以下公式添加天数部分:
=IIF(Fields!TotalTime.Value < 86400,
Format(DateAdd("s", Fields!TotalTime.Value, "00:00:00"), "HH:mm:ss"),
Floor(Fields!TotalTime.Value / 86400) & " days, " & Format(DateAdd("s", Fields!TotalTime.Value, "00:00:00"), "HH:mm:ss"))
【解决方案2】:
对于 HH:mm:ss 格式,您可以使用:
=Floor(Fields!TotalTime.Value / 3600) &":"& Format(DateAdd("s", Fields!TotalTime.Value, "00:00"), "mm:ss")
在这种情况下,例如 90000sec 将显示为:25:00:00
对于 DD:HH:mm:ss 格式使用这个:
Floor(Fields!TotalTime.Value / 86400) &":"& Format(DateAdd("s", Fields!TotalTime.Value, "00:00:00"), "HH:mm:ss")
90000sec 将显示为:1:01:00:00