在刺激软件中格式化时间跨度摘要

本文关键字:时间跨度 格式化 刺激 软件 | 更新日期: 2023-09-27 18:30:58

我正在创建带有TimeSpan类型的列的简单表报告。我正在将其值相加,这将导致大于 24 小时的值汇总到文本组合中。

{SumTime(DataBand1,Records.time)}

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

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

在刺激软件中格式化时间跨度摘要

Hours属性的最大值为 24h。您可以使用String.FormatTimeSpan.TotalHours自行格式化:

string text = string.Format("{0}:{1}:{2}",
                     (int) Records.time.TotalHours, // TotalHours is double
                     Records.time.Minutes,
                     Records.time.Seconds);
我知道这是一个

古老的问题,但我偶然发现了它,自己寻找解决方案。 经过一些挖掘,这是我得出的:

假设您已经有一个时间跨度变量(在数据源中设置它,或者使用 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)}