2011-11-30 62 views
1

我有一個使用存儲過程顯示某些數據的Crystal Report(2011)。其中一個領域是TimeSpent(bigint),它擁有TimeSpan中的Ticks數量(在C#中,我們將TimeSpan.Ticks傳遞給要存儲的數據庫)。Crystal 2011 - 將刻度轉換爲時間

很顯然,在我的報告中,我不想顯示這個,所以我想知道如何將刻度轉換爲dd:hh:mm:ss,例如, 01:05:58:251 day, 5 hours, 58 minutes and 29 seconds

回答

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
+0

真棒.....我不得不從蜱秒轉換但其餘的我真的迷失了。這就像一個魅力,謝謝一堆! – Robert