首页  编辑  

计算年龄

Tags: /超级猛料/Date.Time.时间和日期/   Date Created:

Author: Simon Grossenbacher

function CalculateAge(Birthday, CurrentDate: TDate): Integer;

var

 Month, Day, Year, CurrentYear, CurrentMonth, CurrentDay: Word;

begin

 DecodeDate(Birthday, Year, Month, Day);

 DecodeDate(CurrentDate, CurrentYear, CurrentMonth, CurrentDay);

 if (Year = CurrentYear) and (Month = CurrentMonth) and (Day = CurrentDay) then

 begin

   Result := 0;

 end

 else

 begin

   Result := CurrentYear - Year;

   if (Month > CurrentMonth) then

     Dec(Result)

   else

   begin

     if Month = CurrentMonth then

       if (Day > CurrentDay) then

         Dec(Result);

   end;

 end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

 Label1.Caption := Format('Your age is %d', [CalculateAge(StrToDate('01.01.1903'), Date)]);

end;