求两个日期相差年月日,帮我看看程序。
馮強 2002-07-16 11:45:57 procedure TForm1.Button1Click(Sender: TObject);
var
BeDate,EnDate,ReDate:TDateTime;
Year,Month,Day:Word;
begin
BeDate:=StrtoDate(trim(Edit1.Text)+'-'+trim(EDit2.Text)+'-'+trim(Edit3.Text));
EnDate:=StrtoDate(trim(Edit4.Text)+'-'+trim(EDit5.Text)+'-'+trim(Edit6.Text));
if EnDate<BeDate then
Application.MessageBox('开始日期必须小于结束日期!','错误:',MB_OK)
else
begin
ReDate:=EnDate-BeDate;
DecodeDate(ReDate,Year,Month,Day);
Edit7.Text:=InttoStr(Year)+'年'+InttoStr(Month)+'月'+InttoStr(Day)+'天';
end;
end;
比如,开始日期是2001年7月1日,结束日期是2002年7月16日,相减后,应该
返回1年0月15天,但却是1901年0月15天。是不是DecodeDate应用有问题,还是因为系统将01年识别为1901年1月14天??如何改这段程序呢?我不知错在何处?