在stimulsoft中格式化TimeSpan摘要

时间:2013-09-12 08:20:38

标签: c# formatting timespan stimulsoft

我正在使用TimeSpan类型的列创建简单的表格报告。 我将它的值(大于24小时的值)汇总到Text componnent中。

{SumTime(DataBand1,Records.time)}

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

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

2 个答案:

答案 0 :(得分:0)

Hours属性最多为24小时。您可以使用String.FormatTimeSpan.TotalHours

自行格式化
string text = string.Format("{0}:{1}:{2}",
                     (int) Records.time.TotalHours, // TotalHours is double
                     Records.time.Minutes,
                     Records.time.Seconds);

答案 1 :(得分: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)}