Delphi 語言的 DateUtils 單元提供了功能豐富的日期、時間函式,針對“計算程式執行時間”這一應用,可以參考使用以下功能函式:
Now :獲取當前的日期和時間
Now 函式的 Note 提示,Now 獲取的時間精確到最接近的秒,如果還需要更精確的時間(比如:毫秒級),可以考慮使用以下 Win API 函式:
GetLocalTime、GetSystemTime 或 GetTickCout 等。
MilliSecondsBetween 函式:計算兩個時間之間的差值(按毫秒計算)
SecondsBetween 函式:計算兩個時間之間的差值(按秒計算)
綜合以上功能函式的資料,就可以著手編寫應用的程式碼了,以下是示例:
var
Form1: TForm1;
AppTime: TDateTime;
implementation
uses System.DateUtils;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var SysTime: TSystemTime;
begin
//AppTime = Now; //以秒計算時間
GetLocalTime(SysTime);
AppTime := SystemTimeToDateTime(SysTime);
end;
procedure TForm1.FormDestroy(Sender: TObject);
SysTime: TSystemTime;
CurTime: TDateTime;
//ShowMessage("程式共運行了 " + SecondsBetween(AppTime,Now).ToString + " 秒");
CurTime := SystemTimeToDateTime(SysTime);
s := "程式共運行了 " + MilliSecondsBetween(AppTime,CurTime).ToString + " 毫秒";
MessageBox(Handle, PChar(s), "資訊提示", MB_OK + MB_ICONINFORMATION);
程式碼執行截圖:
Delphi 語言的 DateUtils 單元提供了功能豐富的日期、時間函式,針對“計算程式執行時間”這一應用,可以參考使用以下功能函式:
Now :獲取當前的日期和時間
Now 函式的 Note 提示,Now 獲取的時間精確到最接近的秒,如果還需要更精確的時間(比如:毫秒級),可以考慮使用以下 Win API 函式:
GetLocalTime、GetSystemTime 或 GetTickCout 等。
MilliSecondsBetween 函式:計算兩個時間之間的差值(按毫秒計算)
SecondsBetween 函式:計算兩個時間之間的差值(按秒計算)
綜合以上功能函式的資料,就可以著手編寫應用的程式碼了,以下是示例:
var
Form1: TForm1;
AppTime: TDateTime;
implementation
uses System.DateUtils;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var SysTime: TSystemTime;
begin
//AppTime = Now; //以秒計算時間
GetLocalTime(SysTime);
AppTime := SystemTimeToDateTime(SysTime);
end;
procedure TForm1.FormDestroy(Sender: TObject);
var
SysTime: TSystemTime;
CurTime: TDateTime;
begin
//ShowMessage("程式共運行了 " + SecondsBetween(AppTime,Now).ToString + " 秒");
GetLocalTime(SysTime);
CurTime := SystemTimeToDateTime(SysTime);
s := "程式共運行了 " + MilliSecondsBetween(AppTime,CurTime).ToString + " 毫秒";
MessageBox(Handle, PChar(s), "資訊提示", MB_OK + MB_ICONINFORMATION);
end;
程式碼執行截圖: