求计算年龄的代码!(50分)

  • 主题发起人 主题发起人 乡下人
  • 开始时间 开始时间

乡下人

Unregistered / Unconfirmed
GUEST, unregistred user!
已知出生年月,求周岁!就是过了生日减一岁,没过减两岁!
 
就是过了生日不减,没过减一岁:
int(now-strtodatetime('2002-11-11'));
 
楼上的写法可以
 
不对吧!好像没那么简单!now-strtodatetime('2002-11-11')这一句对吗?如果now等于
2020-10-10,那么得到的结果是什么?
 
7
showmessage(inttostr(int(strtodatetime('2020-10-10')-strtodatetime('2002-11-11'))));
int 你看到了吗?
 
17-11-29!!
可是我要17,不要后面的-11-29!
不好意思,我很水的,麻烦了!
 
var
i:integer;
begin
i:=0;
while incmonth(birdthday,i)<=now do
inc(i);
if i mod 12 >0 then
i:= i div 12+1
else
i:=i div 12 ;
showmessage(inttostr(i));
end;
 
showmessage(inttostr(strtoint(formatdatetime('yy', strtodatetime('2020-10-10')-strtodatetime('2002-11-11') + 2))));
 
搞定!谢谢Xelloss!谢谢大家!分不多,就全给Xelloss和jsxjd
了!谢谢大家!
 
笨蛋
showmessage(inttostr(int(strtodatetime('2020-10-10')-strtodatetime('2002-11-11'))));
改为
showmessage(inttostr(round(strtodatetime('2020-10-10')-strtodatetime('2002-11-11'))));
显示出来654岁,你的分怎么给的.
showmessage(inttostr(strtoint(formatdatetime('yy', strtodatetime('2020-10-10')-strtodatetime('2002-11-11') + 2))));
也不正确,过了生日与没过生日都一样
 
不是呀!我试了一下,结果正确呀!^_^
天数上有一点点差别!
 
结果果然是错的,真不好意思。
 
后退
顶部