2015年9月4日 星期五

delphi關於時間的加減

如何時間相減後得出相差的時分秒
procedure TForm1.Button1Click(Sender: TObject);
var
    h,m,s,ms:word;
    str1,str2:string;
begin
    str1:='09:00:00';
    str2:=FormatDateTime('hh:nn:ss',StrToDateTime(str1) + EncodeTime(0, 15, 0, 0));//往後15分鐘
    DecodeTime(StrToDateTime(str2) - StrToDateTime(str1), h, m, s, ms);
    ShowMessage(format('%d 小时; ',[h])+format('%d分钟; ',[m])+format('%d 秒; ',[s])+format('%d 微秒 ',[ms]));
end;

關於時間的加減                    
d1, d2: TDateTime;
d1 := d2 + EncodeDate(1, 0, 0); // d2 的時間加一年
d1 := d2 + EncodeDate(0, 1, 0); // d2 的時間加一個月
d1 := d2 + EncodeDate(0, 0, 1); // d2 的時間加一天
d1 := d2 + EncodeTime(1, 0, 0, 0); // d2 的時間加一小時,最大到23小時
d1 := d2 + EncodeTime(0, 1, 0, 0); // d2 的時間加一分鐘
d1 := d2 + EncodeTime(0, 0, 1, 0); // d2 的時間加一秒
d1 := d2 + EncodeTime(0, 0, 0, 1); // d2 的時間加一毫秒,加1000次才等於一秒

Delphi 7 的函式,給您參考
IncYear
IncMonth
IncDay
IncHour
IncMinute
IncSecond
IncMilliSecond

沒有留言: