如何进行日期运算?(50分)

  • 主题发起人 主题发起人 pcw
  • 开始时间 开始时间
P

pcw

Unregistered / Unconfirmed
GUEST, unregistred user!
如何采用最简办法进行如下日期运算:
今年:2001年02月28日减去2000年01月10日等于多少天?
 
var
d1,d2:Tdatetime;
ts:Double;
begin
d1:=StrToDate('2001-02-28');
d2:=StrToDate('2000-01-10');
ts:=d1-d2;
end;
 
ts得到的可不是天数,还要运算。不如这样:
var
year,mon,day:word;
year1,mon1,day1:word;
begin
decodeDate(StrToDate('2001-02-28'),year,mon,day);
decodeDate(StrToDate('2001-02-20'),year1,mon1,day1);
caption := INtToSTr(day-day1);
end;
 
好像直接减也可以得。
 
这样:
var
year,mon,datelong:word;
day,day1:datetime;
begin
decodeDate(day-day1,year,mon,datelong);//day和day1分别为你需要的日期
caption := INtToSTr(datelong);
end;
 
你试一试下面的方法,引用MATH unit
caption:=IntToStr(Ceil(Date1-Date2));
 
记住DELPHI中的DATETIME类型为即为浮点型,整数部分为年月日,小数部分为时分秒
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
928
DelphiTeacher的专栏
D
D
回复
0
查看
883
DelphiTeacher的专栏
D
D
回复
0
查看
856
DelphiTeacher的专栏
D
后退
顶部