var
TimeNow, TimeEnd: TDatetime;
Hour, Min, Sec, MSec: Word;
begin
TimeNow := Time;
DecodeTime(Time, Hour, Min, Sec, MSec);
Sec := Sec + aSec;
TimeEnd := EncodeTime(Hour, Min, Sec, MSec);如果加出来的Sec大于60了,就报错了。
TimeNow, TimeEnd: TDatetime;
Hour, Min, Sec, MSec: Word;
begin
TimeNow := Time;
DecodeTime(Time, Hour, Min, Sec, MSec);
Sec := Sec + aSec;
TimeEnd := EncodeTime(Hour, Min, Sec, MSec);如果加出来的Sec大于60了,就报错了。
var
aa:TDateTime;
begin
aa:=IncSecond(now,10); //加10秒
end;
TimeNow, TimeEnd: TDatetime;
Hour, Min, Sec, MSec: Word;
begin
TimeNow := Time;
DecodeTime(Time, Hour, Min, Sec, MSec);
Sec := Sec + aSec;
if sec=60 then
begin
sec:=0;
min:=min+1;
end;
......//以此类推
TimeEnd := EncodeTime(Hour, Min, Sec, MSec);
TimeNow, TimeEnd: TDatetime;
Hour, Min, Sec, MSec: Word;
begin
TimeNow := Time;
DecodeTime(Time, Hour, Min, Sec, MSec);
Sec := Sec + aSec;
if sec > 60 then
begin
Hour := Hour + sec div 3600;
Min := Min + sec div 60;
Sec:= sec mod 60;
end;
TimeEnd := EncodeTime(Hour, Min, Sec, MSec);
TimeNow, TimeEnd: TDatetime;
Hour, Min, Sec, MSec: Word;
begin
TimeNow := Time;
DecodeTime(Time, Hour, Min, Sec, MSec);
Sec := Sec + aSec;
if sec=60 then
begin
Hour := Hour + Sec div 3600;
Min := Min + Sec div 60;
sec := Sec mod 60;
end;
TimeEnd := EncodeTime(Hour, Min, Sec, MSec);
TimeNow, TimeEnd: TDatetime;
Hour, Min, Sec, MSec: Word;
begin
TimeNow := Time;
DecodeTime(Time, Hour, Min, Sec, MSec);
Sec := Sec + aSec;
if sec > 60 then
begin
Hour := Hour + Sec div 3600;
Min := Min + Sec div 60;
sec := Sec mod 60;
end;
TimeEnd := EncodeTime(Hour, Min, Sec, MSec);
TimeNow, TimeEnd: TDatetime;
Hour, Min, Sec, MSec: Word;
begin
TimeNow := Time;
TimeEnd := TimeNow + aSec/24/60/60;如果你理解了 TDateTime的结构就明白了。TDatetime 是一个double 类型,
他的整数部分是从日期与 1989/12/30 的天数差。
分数部分 是当日的已过时间与一整天的比。