時間差與表示方式的問題 |
答題得分者是:ccchen
|
johnnychang
一般會員 發表:24 回覆:26 積分:16 註冊:2002-09-27 發送簡訊給我 |
參考文章==>http://delphi.ktop.com.tw/topic.php?topic_id=18677
問題:計算兩個時間的時間差, 並將之表示成hh:mm:ss的格式, 如:
22:20:30與20:15:28 之差為02:05:02 我採用Format來達成預計的格式,但結果為 2: 5: 2, 不是預期的02:05:02
請前輩高手們指導. 謝謝.
我的寫法如下: function TimeDiff(StartTime, EndTime:TDateTime):String;
var
t: TDateTime;
hh, mm, ss, ms: Word;
begin
If StartTime > EndTime then
t:=StartTime - EndTime
Else
t := EndTime - StartTime;
DecodeTime(t, hh, mm, ss, ms);
TimeDiff:=Format('%2s:%2s:%2s',[IntToStr(hh),IntToStr(mm),IntToStr(ss)]);
end;
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
兩個方法均可
function TimeDiff(StartTime, EndTime:TDateTime):String;
var
t: TDateTime;
hh, mm, ss, ms: Word;
begin
If StartTime > EndTime then
t:=StartTime - EndTime
Else
t := EndTime - StartTime;
TimeDiff:=FormatDateTime('hh:nn:ss',t);
//或
// DecodeTime(t, hh, mm, ss, ms);
// TimeDiff:=Format('%2.2d:%2.2d:%2.2d',[hh,mm,ss]);
end; 發表人 - ccchen 於 2003/01/28 18:17:04
|
johnnychang
一般會員 發表:24 回覆:26 積分:16 註冊:2002-09-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |