我正在使用TimeSpan类型的列创建简单的表格报告。 我将它的值(大于24小时的值)汇总到Text componnent中。
{SumTime(DataBand1,Records.time)}
我正在尝试格式化文本字段,如HH:mm:ss,但是25小时它给了我01:00:00(或1.01:00:00一般格式化)而不是25:00:00什么是我的目标。
编辑:问题不在于如何格式化时间跨度,而是如何将格式化的值与Stimulsoft的Text组件相关联。
答案 0 :(得分:0)
Hours
属性最多为24小时。您可以使用String.Format
和TimeSpan.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)}