【问题标题】:DateDiff with DateTime in SSRS expressionSSRS 表达式中的 DateDiff 和 DateTime
【发布时间】:2016-03-09 14:54:55
【问题描述】:

我正在尝试计算 SSRS 表达式中两个 DateTime 参数之间的时间差,以便以 DD:hh:mm:ss 格式显示。使用我正在使用的表达式,我得到:

 Start: 03/04/2016 08:48:53 AM    End: 03/07/2016 11:24:04 AM    Elapsed: 74:33:11. 

我想查看Elapsed: 3:02:35:11(天:小时:分钟:秒)。

【问题讨论】:

  • 检查this
  • 这是我目前使用的表达式: =RIGHT("00" & Floor(SUM(DateDiff("s",Fields!ProcessOpened.Value,Fields!ProcessClosed.Value))/3600) ,2) & ":" & RIGHT("00" & (Floor(SUM(DateDiff("s",Fields!ProcessOpened.Value,Fields!ProcessClosed.Value)) Mod 3600)/60),2) & ": " & RIGHT("00" & SUM(DateDiff("s",Fields!ProcessOpened.Value,Fields!ProcessClosed.Value)) Mod 60,2)

标签: reporting-services ssrs-2008-r2


【解决方案1】:

将小时数除以 24 得到天数,然后进行取模得到剩余小时数。

【讨论】:

    【解决方案2】:

    试试这个:

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

    我已经测试过:

    =Floor(DateDiff("s",CDATE("04/03/2016 08:48:53 AM"),
    CDATE("07/03/2016 11:24:04 AM")) / 86400) & ":" &
    Format(DateAdd("s", DateDiff("s",CDATE("04/03/2016 08:48:53 AM"),
    CDATE("07/03/2016 11:24:04 AM")), "00:00:00"), "HH:mm:ss")
    

    返回:

    3:02:35:11
    

    如果这有帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多