【问题标题】: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"))

【讨论】:

  • 嗨,克里斯,如果你有兴趣,我刚刚问了一个新问题,就像这个问题的延续:stackoverflow.com/questions/13534686/… 谢谢!!!
  • 这个答案如果持续多天实际上是行不通的。
  • @Tanner_Gram 现在可以了
【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    相关资源
    最近更新 更多