time 怎么进行运算?(50分)

  • 主题发起人 主题发起人 xiaoren
  • 开始时间 开始时间
X

xiaoren

Unregistered / Unconfirmed
GUEST, unregistred user!
我要把是时间如:
19:23:12 加上 2:00 怎么办?
 
var
my:Tdatetime;
The:Tdatetime;
begin
The:=StrToTime('2:0:0');
my:=StrToTime(edit1.text)+the;
Edit1.text:=timeToStr(My);
end;
 
TDateTime其实是DOUBLE型,整数部分是day,小数部分是time
加2hour就是:
aDatetime+2/24
加2day就是:
aDatetime+2

 
Use following Pascal functions todo
DateTime operation:
procedure DecodeDate(Date: TDateTime;
var Year, Month, Day: Word);
function EncodeDate(Year, Month, Day: Word): TDateTime;
procedure DecodeTime(Time: TDateTime;
var Hour, Min, Sec, MSec: Word);
function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;
procedure TForm1.Button1Click(Sender: TObject);
var
Present: TDateTime;
TwoHoursLater: TDateTime;
Year, Month, Day, Hour, Min, Sec, MSec: Word;
begin
Present:= Now;
DecodeTime(Present, Hour, Min, Sec, MSec);
Hour := Hour + 2;
if Hour > 24 then
begin
Hour := Hour - 24;
Present := Present + 1;
end;
TwoHoursLater := Int(Present);
TwoHoursLater := TwoHoursLater + EncodeTime(Hour, Min, Sec, MSec);
ShowMessage('The time after 2 hours is ' + DateTimeToStr(TwoHoursLater));
end;
 
Last_hero的办法是最简单的, 我一直都是这么用的.
Datatime 类型的数就是一个浮点数, 单位为天,
你执行下面的语句就知道这么回事了.
Var D :TDatetime ;
begin

D:=StrToDateTime('1999-4-1 12:00 ');
showmessage(FloatTostr(d));
end;
 
你要是看一看前面的已答问题就不用花这50大洋了。
如:
<a href='http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=96020'>http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=107102</a>
 
接受答案了.
 
后退
顶部