0

我想在报告上打印开始、结束和经过的时间,但似乎没有任何效果。

="Elapsed: " + CStr(Now - CDate(Globals!ExecutionTime))

抛出错误,同时

=Now - CDate(Globals!ExecutionTime)

打印经过的时间。我需要将经过的时间合并到一个更大的句子中。FormatDateTime 在 System.TimeSpan 无法转换为 Date 时引发错误。

打印报告生成所需时间的字符串的正确公式是什么?

我知道一种解决方法是将经过的时间保留在其自己的文本框中,但格式要求要求所有三个时间的一个连接字符串。

4

1 回答 1

3

这可能会给你一些想法:

="Start: " & Globals!ExecutionTime.ToString() & vbcrlf
    & "End: " & Now().ToString() & vbcrlf
    & "Elapsed: " & DateDiff(DateInterval.Minute
            , Globals!ExecutionTime
            , Now()) mod 60
        & ":"
        & Right("0" & DateDiff(DateInterval.Second
                , Globals!ExecutionTime
                ,  Now()) mod 60
            , 2)

这给出了以下结果:

在此处输入图像描述

这看起来像你可能追求的。

我只是vbcrlf用作换行符。

最重要的部分是Elapsed用于DateDiff获取两个日期时间之间的差异以获取分钟和秒部分并将其显示为的部分mm:ss。您可以适应您的特定需求。

于 2013-10-31T22:21:03.950 回答