Crystal 2011 - 将Ticks转换为时间

时间:2011-11-30 15:55:17

标签: crystal-reports

我有一份Crystal Report(2011),它使用存储过程来显示一些数据。其中一个字段是TimeSpent(bigint),它保存TimeSpan中的Ticks数量(在C#中,我们将TimeSpan.Ticks传递给要存储的DB)。

显然在我的报告中我不想显示这个,所以我想知道如何将刻度转换为读取dd:hh:mm:ss,例如01:05:58:25的{​​{1}}?

1 个答案:

答案 0 :(得分:1)

刻度为100纳秒,或每秒1000万个刻度。所以先转换为秒 numbervar span := {field.ticks}/10000000;

从那里开始,只需将秒数分解为时间段(此片段来自tek-tips):

numbervar days;
numberVar hrs;
numberVar min;
numberVar sec;
stringVar ddhhmmss;
days:= Truncate(Truncate(Truncate(span/60)/60)/24);
hrs := Remainder(Truncate(Truncate(span/60)/60),24);
min := Remainder(Truncate(span/60),60);
sec := Remainder(span,60);

ddhhmmss := totext(days,0,"") + ":" + totext(hrs,"00") + ":" + totext(min,"00") + ":" + totext(sec,"00");

ddhhmmss