请教各位如何计算两个日期之间间隔多少个整月及不足一个月的天数?(100分)

  • 主题发起人 主题发起人 super-ljc
  • 开始时间 开始时间
S

super-ljc

Unregistered / Unconfirmed
GUEST, unregistred user!
是这样要做一个利息计算器,请问如何实现如下示例:
如2003年6月2日到2008年6月4日得到是60个月零2天?没办法因为有2月份按日息算会少二天
 
uses DateUtils;

procedure TForm1.Button1Click(Sender: TObject);
var
d1,d2: TDate;
day1,day2: word;
begin
d1:=StrToDate('2003-6-2');
d2:=StrToDate('2008-6-4');
Label1.Caption:=inttostr(MonthsBetween(d1,d2));
day1:=DayOf(d1);
Day2:=DayOf(d2);
Label2.Caption:=inttostr(abs(Day2-day1));
end;
 
uses DateUtils;
....

procedure TForm1.Button1Click(Sender: TObject);
var date1,date2:TDate;
m,d:integer;
begin
date1:=StrToDate('2003-06-02');
date2:=StrToDate('2008-06-04');
if date1>date2 then
begin
ShowMessage('日期大小不对。');
exit;
end;
m:=MonthsBetween(date1,date2);
if incmonth(date1,m)<>date2 then
begin
d:=Trunc(date2-incmonth(date1,m));
ShowMessage('相差'+IntToStr(m)+'月'+IntToStr(d)+'日');
end
else
ShowMessage('相差'+IntToStr(m)+'月');
end;
 
靠,写得太慢,而且没有2楼好。
2楼做的比我好。
 
楼上抄的2楼的吧。
 
我先看到题目的,我回答得太久了。
 
开个玩笑,不要当真,不好意思阿兄弟。对不起了。
 
况且都不如2楼的啦,抄也要抄得比他好才对。
 
感谢帮助!
 
后退
顶部