怎样计算出两个日期值之间的月份差(急,急如救火)(80分)

  • 主题发起人 主题发起人 jobsxy
  • 开始时间 开始时间
J

jobsxy

Unregistered / Unconfirmed
GUEST, unregistred user!
比如有两日期1998.10.15,1999.05.25,我如果计算出它们之间有8个月的差。
好象用到十二进制,如果是六十进制该怎样计算(如时间差),
这一类问题请给个提示。(DELPHI是否有此类函数?)
 
var t,t1,t2 : Tdatetime
y,m,d :Word
begin
t1:=encodedate(1999,7,1);
t2:=encodedate(1999,4,5);
t:=t1-t2;
decodedate(t,y,m,d);

Tdatetime 就是double型变量。
 
不好意思,xhmeng
我知道TDATETIME是DOUBLE型变量,可是计算出月差好象还需作进一步计算,
我弄不清楚的就是这个计算该如何处理?
 

唐坛主:
这个问题我自己回答出来了,是否可以要出积分???

var
vDate : TDateTime;
y1,m1,d1,y2,m2,d2 : Word;
i : Integer;
Begin
DecodeDate(Date1,y1,m2,d1)
//1999-02-01
DecodeDate(Date2,y2,m2,d2)
//1998-10-15
i := (y1-y2) * 12 + (m1 - m2) +1
//结果为5
End;
 
jobxy:
你至少应该分一半的分给xhmeng,因为你的思路是沿袭他的!
 
xhmeng,你觉得应给你一半分,就如柳五公子所说?
 
多人接受答案了。
 

Similar threads

回复
0
查看
848
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部