1、我要将一个以毫秒位单位的整数转成时间格式,如1000毫秒转成00:00:01:000
好像vb中有个ToTime函数可以,Delphi中有这样的函数么?如果要写几段代码,就不用回答了,我已经写了一个函数暂时转换用,希望找到更好的方法。
2、怎么完成时间的运算,比如am 08:30:00:000 加上 00:45:00:00等于
am 09:15:00:000?
好像vb中有个ToTime函数可以,Delphi中有这样的函数么?如果要写几段代码,就不用回答了,我已经写了一个函数暂时转换用,希望找到更好的方法。
2、怎么完成时间的运算,比如am 08:30:00:000 加上 00:45:00:00等于
am 09:15:00:000?
DELTHI中的时间数据类型(TDateTime, TDate, TTime 等)都是浮点数,可以直接进行加减运算的。运算完毕后,可以用FormatDateTime,DateToStr等函数完成格式转换,转成你想要的特定格式字符串。
函数function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;
然后再使用函数function FormatDateTime(const Format: string; DateTime: TDateTime): string;使用格式请查看Delphi自带的帮助,里面
有很详细的解释,很简单。
用FORMAT
你也可以自己做个涵数
2,如果用EncodeTime加减时间会有进位的问题么?
函数
procedure TForm1.Button1Click(Sender: TObject);var
ADateAndTime: TDateTime;
begin
ADateAndTime := StrToDateTime(Edit1.Text);
Table1.FieldByName('TimeStamp').AsDateTime := ADateAndTime;
end;
var
ATime:TTime;
begin
ATime:=1000;
ShowMessage(TimeToStr(ATime));
end;
2:
var
TmpTime,ATime:TTime;
begin
TmpTime:=StrToTime('00:45:00:00');
ATime:=StrToTime('08:30:00:000');
ATime:=ATime+TmpTime;
ShowMessage(TimeToStr(ATime));
end;
//try this!
2
var
TmpTime,ATime:TTime;
begin
TmpTime:=StrToTime('00:45:00');
ATime:=StrToTime('08:30:00');
ATime:=ATime+TmpTime;
ShowMessage(TimeToStr(ATime));
end;
但我告诉你学习 delphi
多多看看 它自身的 帮助很有用的!