如何计算SSRS中2个DateTime字段之间的时差

时间:2013-06-18 19:12:25

标签: datetime ssrs-2008 datediff

我正在制作一份涉及图尔的报道。我有一个由tour_start_time数据字段填充的列和另一个由tour_end_time填充的列。然后我有一个名为Total Time的列。总时间列需要以hh:mm格式告诉我tour_start_time和tour_end_time之间的区别。因此,如果tour_start_time返回5:00并且tour_end_time返回5:06则则总时间应为0:06。我似乎无法得到这个和DateDiff的东西,我已经阅读了所有参考参数,这不是我正在使用的。我需要表格中的数据。我试过这个表达式: =DateDiff(minute,Fields!tour_start_time,Fields!tour_end_time)

但这没有用,也没有尝试过的任何变种。我知道我错过了一些新的东西,如果这是一个愚蠢的问题我很抱歉,但我需要有人可以向我解释或至少给我另一个功能尝试。

1 个答案:

答案 0 :(得分:13)

假设您的列实际上是 DateTime 数据类型,那么您的DateDiff表达式应如下所示:

=DateDiff(DateInterval.Minute, Fields!tour_start_time.Value, Fields!tour_end_time.Value)

=DateDiff("n", Fields!tour_start_time.Value, Fields!tour_end_time.Value)

VB.NET DateDiff需要DateInterval参数;您可以指定枚举成员(DateInterval.Minute)或其字符串表示(即"n"分钟)。

这将仅以分钟为单位返回差值的整数值;听起来你需要将其更改为 HH:mm 字符串。在我的脑海中,最简单的方法是使用报告中的一些自定义代码,它将此整数值作为参数并基于此构造字符串。如果您需要有关此部分的更多信息,请与我们联系。