0

我正在使用 TimeSpan 类型的列创建简单的表格报告。我将其值(导致大于 24 小时的值)加到文本组件中。

{SumTime(DataBand1,Records.time)}

我正在尝试格式化文本字段,如 HH:mm:ss,但在 25 小时内它给了我 01:00:00(或 1.01:00:00 的一般格式)而不是 25:00:00 我的目标是什么。

编辑:问题不在于如何格式化时间跨度,而是如何将格式化值关联到 Stimulsoft 的文本组件。

4

2 回答 2

0

Hours属性最长为 24 小时。您可以使用String.Formatand自己格式化它TimeSpan.TotalHours

string text = string.Format("{0}:{1}:{2}",
                     (int) Records.time.TotalHours, // TotalHours is double
                     Records.time.Minutes,
                     Records.time.Seconds);
于 2013-09-12T08:28:54.827 回答
0

我知道这是一个古老的问题,但我偶然发现它正在寻找解决方案。在进行了一些挖掘之后,这就是我想出的:

假设您已经有一个时间跨度变量(在数据源中设置它,或者使用 DateDiff 设置一个变量),您可以使用以下格式对其进行格式化:

{string.Format("{0}:{1}:{2}", 
                (int) Variable1.TotalHours, 
                 Variable1.Minutes,
                 Variable1.Seconds)}

假设您有两个不同的字段(名为 Date1 和 Date2),您需要获得它们的区别,并且不想将其放入变量中:

{string.Format("{0}:{1}:{2}", 
                (int) DateDiff(Date2,Date1).TotalHours, 
                 DateDiff(Date2,Date1).Minutes,
                 DateDiff(Date2,Date1).Seconds)}
于 2014-04-11T14:45:23.580 回答