delphi計算兩個時間差

2022-08-20 03:45:07 字數 1895 閱讀 1340

uses dateutils;

vars1, s2: string;

t1, t2: tdatetime;

d, h, m, s: integer;

value: int64;

begin

s1 := '2015/09/23 15:44:50';

s2 := '2013/09/22 16:47:51';

t1 := strtodatetime(s1);

t2 := strtodatetime(s2);

value := secondsbetween(t1, t2);

d := value div secsperday; // 取一天有多少秒

h := value mod secsperday div secsperhour; // 取一天有多少秒

m := value mod secsperday mod secsperhour div secspermin;

s := value mod secsperday mod secsperhour mod secspermin;

caption := format('%.2d天 %.2d:%.2d:%.2d', [d, h, m, s]); //%.2d沒有兩位補全,若沒有'.'則顯示實際位數

memo1.lines.add(caption);

end;

經過上面可以實現兩個時間相減的功能,然後將其寫成函式為:

function getsubdatetime(s1, s2:string): string;

var t1, t2: tdatetime;

d, h, m, s: integer;

value: int64;

begin

t1 := strtodatetime(s1);

t2 := strtodatetime(s2);

value := secondsbetween(t1, t2);

d := value div secsperday;

h := value mod secsperday div secsperhour;

m := value mod secsperday mod secsperhour div secspermin;

s := value mod secsperday mod secsperhour mod secspermin;

result := format('%.2d天 %.2d:%.2d:%.2d',[d, h, m, s]);

end;

呼叫:var

caption: string;

begin

caption := getsubdatetime(s1, s2);

memo1.liens.add(caption);

end;

上面就可以直接呼叫函式計算差值,若要想計算動態的時間差值就使用乙個計時器timer,**如下:

procedure tform2.timer1timer(sender: tobject);

var s1, s2: string;

begin

s1 := formatdatetime('yyyy/mm/dd hh:mm:ss', now()); // 我用的xe,所以提前出來的系統時間是這種格式

s2 := '2015/9/22 01:02:03'; // 這裡時間要和獲取到的系統時間一致

getsubdatetime(s1, s2);

memo1.lines.add(getsubdatetime(s1, s2));

end;

Java計算兩個時間差

計算兩個日期的時間差 param formattime1 param formattime2 return public static string gettimedifference timestamp formattime1,timestamp formattime2 catch parseex...

moment 計算兩個時間差

1.安裝引用moment import moment from moment 2.以秒為單位計算時分秒 起始時間 let starttime 2020 07 02 14 40 23 結束時間 當前時間 let endtime moment format yyyy mm dd hh mm ss 計算兩...

java計算兩個時間的時間差

如果得到的時間格式是string型 資料庫儲存為varchar 的是日期時間,我們首先要講日期由string型轉為date型,如果得到的時間格式為date型別不用轉。string time1 2017 01 01 01 01 01 string time2 2017 02 02 02 02 02 d...