procedure TForm1.Button1Click(Sender: TObject); var str:string; ss:Tdatetime; begin showmessage(datetimetostr(strtodatetime(edit1.Text+'-'+edit2.Text+'-'+edit3.Text))); TryEncodeDateTime(strtoint(edit1.text),strtoint(edit2.text),strtoint(edit3.text),0,0,0,0,ss); showmessage(datetimetostr(ss)); showmessage(floattostr(now-ss)); //两个日期相减后,相差1为一天(24小时),0.5为12小时。5.25则为5天6小时. end;
将年,月,日转换成DateTime型 function EncodeDate(Year:word,Month:word,Day:word):TDateTime;计算ANow和AThen两个时间之间的天数 function DaysBetween(const ANow:TDateTime;const AThen:TDateTiem):Integer;
2 直接相减就可以了
var
str:string;
ss:Tdatetime;
begin
showmessage(datetimetostr(strtodatetime(edit1.Text+'-'+edit2.Text+'-'+edit3.Text)));
TryEncodeDateTime(strtoint(edit1.text),strtoint(edit2.text),strtoint(edit3.text),0,0,0,0,ss);
showmessage(datetimetostr(ss)); showmessage(floattostr(now-ss)); //两个日期相减后,相差1为一天(24小时),0.5为12小时。5.25则为5天6小时.
end;
function EncodeDate(Year:word,Month:word,Day:word):TDateTime;计算ANow和AThen两个时间之间的天数
function DaysBetween(const ANow:TDateTime;const AThen:TDateTiem):Integer;
formatdatatime('yyyy-mm-dd',edit1.text)