4
我有一个客户想要在他们的报告基础上显示报告的执行时间。为了适应他们,我已经创建了一个变量上的报告(下报告属性)被称为“GroupExecutionTime”下面的表达式:如何使用日期时间获取毫秒数?
=System.DateTime.Now
然后在报告的页脚我有以下几点:
="Execution Time: " +
IIf(Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).TotalSeconds < 1, "0 seconds",
(
IIf(Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Hours > 0, Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Hours & " hour(s), ", "") +
IIf(Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Minutes > 0, Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Minutes & " minute(s), ", "") +
IIf(Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Seconds > 0, Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Seconds & " second(s)", ""))
)
不幸的是客户回来说他们希望我显示报告在不到一秒的时间内执行的毫秒数。这是一个低优先级的要求,但好奇心和希望满足要求让我想知道如何做到这一点?不幸的是,System.DateTime.Now
似乎不能在几秒钟内存储任何东西。
修正了以下(感谢安东尼Sottile的答案)
="Execution Time: " +
IIf(Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).TotalSeconds < 1, "0." & Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Milliseconds & " seconds.",
(
IIf(Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Hours > 0, Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Hours & " hour(s), ", "") +
IIf(Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Minutes > 0, Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Minutes & " minute(s), ", "") +
IIf(Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Seconds > 0, Variables!GroupExecutionTime.Value.Subtract(Globals!ExecutionTime).Seconds & " second(s)", ""))
)
我敢肯定,我尝试过这种尝试以某种形式或另一种形式...我很快拒绝吃午饭,但我会对我回来的这一个进行破解。 – Codingo
那真是令人尴尬!我一定是第一次拼错了。不胜感激! – Codingo