计算年龄??,在线等!!

leanxj 2004-08-24 03:25:42
现要计算年龄要求精确到日,例如出生年月日为“1980-08-20”和“1980-08-25” 按今天为基准的话前者为24岁,后者为23岁,怎么在delphi中实现,谢谢了!!
...全文
265 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
leanxj 2004-08-24
  • 打赏
  • 举报
回复
ok
leanxj 2004-08-24
  • 打赏
  • 举报
回复
好,谢了,结贴啦!
luke5678 2004-08-24
  • 打赏
  • 举报
回复
P.S. 指出aiirii老大一点小小的问题

ShowMessage(IntToStr(YearsBetween(now, strToDate('1980-08-20'))));
luke5678 2004-08-24
  • 打赏
  • 举报
回复
还有个笨点方法,调试通过

procedure TForm1.Button1Click(Sender: TObject);
var
Year_now, Month_now, Day_now: Word;
Year_bri, Month_bri, Day_bri: Word;
Brithday: string;
begin
Brithday := '1980-08-20';
DecodeDate(Date, Year_now, Month_now, Day_now); //分解日期为年、月、日
DecodeDate(StrToDateTime(Brithday), Year_bri, Month_bri, Day_bri);
if Year_now >= Year_bri then
begin
if Year_now = Year_bri then ShowMessage('今年刚出生');
if Month_bri > Month_now then
ShowMessage('年龄为'+ IntToStr(Year_now - Year_bri - 1) + '岁')
else begin
ShowMessage('年龄为'+ IntToStr(Year_now - Year_bri) + '岁');
end;
end
else ShowMessage('无法计算年龄');
end;
aiirii 2004-08-24
  • 打赏
  • 举报
回复
uses DateUtils;
Edit1.Text := IntToStr(YearsBetween(now, strToDate('1980/08/20')));
Edit2.Text := IntToStr(YearsBetween(now, strToDate('1980/08/27')));

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧