المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : التعامل مع التواريخ (الدالة التي يغفل عنها الكثير)


Unprogramme
27-03-2010, 08:03 AM
السلام عليكم ورحمة الله وبركاته ،
لا شك أن الكثير منا يتعامل في برامجه مع التواريخ و قد يبحث في بعض الأحيان عن عملية الطرح أو الجمع بين تاريخين ،
فأحببت أن أضع هذه المشاركة البسيطة لتتعامل مع التواريخ .
هناك دالة يغفل عن التعامل بها الكثير من المبرمجين و هي دالة خاصة بالتعامل مع التواريخ و هي
DateUtils

وللأمانة العلمية الموضوع مقتبس من منتدى فرنسي.

1- كيف أضيف عدد أيام إلى تاريخ معين .



uses
DateUtils;
var
Date1 : TdateTime;
NbDay : Integer;
begin
Date1 := EncodeDate(2010, 3, 1);
Date1 := IncDay(Date1, NbDay);



2- حساب عدد الأيام بيت تاريخين :



uses
DateUtils;
var
Date1, Date2 : TDateTime;
Diff : Extended;
Day1, Month1, year1 : Word;
day2, Month2, year2 : Word;
begin
Date1 := EncodeDate(Year1, Month1, Day1);
Date2 := EncodeDate(year2, Month2, Day2);
Diff := DaysBetween(Date2, Date1);
end;





3- حساب عدد الأيام السنة لتاريخ معين :


uses
DateUtils;
var
Date1 : TDateTime;
NumeroJ : Integer;
begin
Date1 := Now; {Date système}
NumeroJ := DayOfTheYear(Date1);
end;



4- حساب عدد الأسابيع السنة لتاريخ معين :





uses
DateUtils;
var
Date1 : TDateTime;
NumSem : Word;
begin
Date1 := EncodeDate(2002, 11, 1);
NumSem := WeekOfTheYear(Date1);
end;



هذا ما أردت بيانه و أسأل الله لي و لكم التوفيق و السداد و الرشاد.
:monster1:

B.M.AbdelAziZ
27-03-2010, 08:24 AM
السلام عليكم ورحمة الله
اضافة بسيطة
الامر التالي

Date1 := IncDay(Date1, NbDay);

يمكن كتابته

Date1 := Date1+ NbDay;


ايضا هذا

Diff := DaysBetween(Date2, Date1);

يمكن كتابته

Diff := Date2- Date1;

مع الانتباه الطرح من التاريخ الأكبر/الأحدث او كخيار اخر اهمال ذلك واخذ القيمة المطلقة

Diff := Abs(Date2- Date1);

Unprogramme
27-03-2010, 11:09 AM
جزاك الله خيرا على الإضافة.

فاروق89
12-04-2010, 11:06 AM
السلام عليكم
معلومات مفيدة...
علم وجاري التطبيق...
جزاكم الله كل خير ووفقكم لما تسمون اليه...

oussama2513
19-08-2010, 01:04 AM
بارك الله فيك

محمد نسمان
13-09-2010, 05:03 PM
يمكن إستخدام IncDay أو incMonth برقم سالب لمعرفة الأشهر السابقة أيضاً

فمثلا

ShowMessage(DateToStr(IncMonth(now,-1)));

سوف تعرض تاريخ الشهر السابق لليوم