PDA

View Full Version : تاريخ تولد شخصي 12/12/1998 است اين فرد چند سال و چند ماه و چند روز سنش است؟



ali_abbasi22145
پنج شنبه 10 دی 1388, 14:08 عصر
سلام
تاريخ تولد شخصي 12/12/1998 است اين فرد چند سال و چند ماه و چند روز سنش تا امروز است؟

دلفــي
پنج شنبه 10 دی 1388, 14:25 عصر
سلام
تاريخ تولد شخصي 12/12/1998 است اين فرد چند سال و چند ماه و چند روز سنش تا امروز است؟

اين برنامه مي تونه كمكت بكنه :


http://barnamenevis.org/forum/showthread.php?t=170425


مي توني به روش زير هم عمل كني :



Edit1.text := DateToStr(Date - StrToDate('1998/12/12'));

vcldeveloper
پنج شنبه 10 دی 1388, 14:34 عصر
تاریخ امروز رو از تاریخ تولدش کم کنید، بعد با استفاده از تابع YearsBetween تعداد سال ها را حساب کنید، و تعداد سال های به دست آمده را با استفاده ازIncYear از آن مقدار کسر کنید و تعداد ماه ها را با استفاده از MonthsBetween حساب کنید، بعد تعداد ماه ها را از مقدار مربوطه با استفاده از IncMonth کم کنید. باقیمانده میشه تعداد روزها.

ali_abbasi22145
پنج شنبه 17 دی 1388, 12:45 عصر
سلام
اين هم كد كامل و تست شده من:

procedure TDateForm.FormShow(Sender: TObject);
var
No_Day_Str:String;
No_Day_Int:Integer;
Year1,Month1,Day1:Integer;

begin
If (MainForm.ADOTable1.FieldByName('date_of_birth').A sString = '') then
begin
MainForm.ADOTable1.Edit;
MainForm.ADOTable1.FieldByName('date_of_birth').Cl ear;
MainForm.ADOTable1.FieldByName('date_of_birth_sh') .Clear;
date_of_birth_y_m_d.Text := '';
end
else
begin
MainForm.ADOTable1.Edit;
MainForm.ADOTable1.FieldByName('date_of_birth').As DateTime := Date_of_birth_DBExShDatePicker.Field.AsDateTime;
//MainForm.ADOTable1.FieldByName('date_of_birth_sh') .AsString := ShDateToStr(Date_of_birth_DBExShDatePicker.Field.A sDateTime);

No_Day_Str := FloatToStr((Today-MainForm.ADOTable1.FieldByName('date_of_birth').As DateTime)) ;
No_Day_Int := StrToInt(No_Day_Str);
Year1 := Trunc(No_Day_Int/365);
Month1 := Trunc( (No_Day_Int-Year1*365)/30 );
Day1 := No_Day_Int-(Year1*365)-(Month1*30);
date_of_birth_y_m_d.Text := IntToStr(Year1)+'Ó'+IntToStr(Month1)+'ã'+IntToSt r(Day1)+'Ñ';
end;
//DateTimePicker1.Date:= ExShDatePicker1.Date;
Edit1.Text := DateToStr( Date_of_birth_DBExShDatePicker.Field.AsDateTime );
end;