delphi4arab منتديات دلفي للعرب
التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6)
+--- قسم : دلفي والتعامل مع النظام و الذاكرة (https://delphi4arab.net/forum/forumdisplay.php?fid=20)
+--- الموضوع : التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) (/showthread.php?tid=1839)



التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) - أبو معاذ - 27-03-2010

السلام عليكم ورحمة الله وبركاته ،
لا شك أن الكثير منا يتعامل في برامجه مع التواريخ و قد يبحث في بعض الأحيان عن عملية الطرح أو الجمع بين تاريخين ،
فأحببت أن أضع هذه المشاركة البسيطة لتتعامل مع التواريخ .
هناك دالة يغفل عن التعامل بها الكثير من المبرمجين و هي دالة خاصة بالتعامل مع التواريخ و هي
[COLOR="Navy"]DateUtils[/COLOR]

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

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

كود :
uses DateUtils; var Date1 : TdateTime; NbDay : Integer; begin Date1 := EncodeDate(2010, 3, 1); Date1 := [color=red][B]IncDay[/B][/color](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 := [B][color=red]DaysBetween[/color][/B](Date2, Date1); end;


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

كود :
uses DateUtils; var Date1 : TDateTime; NumeroJ : Integer; begin Date1 := Now; {Date système} NumeroJ := [B][color=red]DayOfTheYear[/color][/B](Date1); end;

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


كود :
uses DateUtils; var Date1 : TDateTime; NumSem : Word; begin Date1 := EncodeDate(2002, 11, 1); NumSem := [B][color=red]WeekOfTheYear[/color][/B](Date1); end;

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


التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) - محمد عبد العزيز - 27-03-2010


السلام عليكم ورحمة الله
اضافة بسيطة
الامر التالي
كود :
Date1 := IncDay(Date1, NbDay);
يمكن كتابته
كود :
Date1 := Date1+ NbDay;

ايضا هذا
كود :
Diff := DaysBetween(Date2, Date1);
يمكن كتابته
كود :
Diff := Date2- Date1;
مع الانتباه الطرح من التاريخ الأكبر/الأحدث او كخيار اخر اهمال ذلك واخذ القيمة المطلقة
كود :
Diff := Abs(Date2- Date1);




التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) - محمد نسمان - 13-09-2010

يمكن إستخدام IncDay أو incMonth برقم سالب لمعرفة الأشهر السابقة أيضاً

فمثلا

PHP كود :
ShowMessage(DateToStr(IncMonth(now,-1))); 

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


التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) - المحجوب - 23-07-2013

ما دام الوضع مشاركه من الجميع فهذه مشاركتي : )

للبحث بين تاريخين

PHP كود :
var
  
F, D: string;
begin
  D 
:= DateToStr(sDateEdit3.date);
  
F := DateToStr(sDateEdit4.date);
  
Table1.filter := 'date1>=''' + D + '''and date1<=''' + F + '''';
  
table1.Filtered := true;
  
Table1.First;
  
sSpeedButton1.Caption := IntToStr(Table1.RecordCount);
  if 
Table1.RecordCount= 0 then
  ShowMessage
('not faund'); 



التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) - Amer12 - 23-07-2013

هناك خطأ بسيط
الدالة DayOfTheYear وظيفتها هي الحصول على ترتيب اليوم في السنة وهي تأخذ الأرقام مابين 1 الى
365 أو 366 اذا كانت السنة كبيسة

كود :
function DayOfTheYear(const AValue: TDateTime): Word;

أما للحصول على عدد أيام السنة فالدالة DaysInAYear تقوم بذلك

كود :
function DaysInAYear(const AValue: TDateTime): Word;

نفس الشيء بالنسبة للدالة WeekOfTheYear فهي تعطي ترتيب الأسبوع ضمن السنة
فمثلا الأسبوع الأول من الشهر الأول في العام يكون ترتيبه واحد وهكذا بالنسبة لباقي الأسابيع.

أما عدد الأسابيع في السنة فالدالة WeeksInAYear تقوم بذلك
كود :
WeeksInAYear(const AYear: Word): Word;



التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) - onexite - 08-09-2013

PHP كود :
Function DateArabe(Today : TDateTime): String;
const
    
Yaom : array[1..7] of string=('الأحد','الإثنين','الثلاثاء','الأربعاء','الخميس','الجمعة','السبت');
    
Chahre: array[1..12] of string=('جانفي','فيفري','مارس','أفريل','ماي','جوان','جويلية','أوت','سبتمبر','أكتوبر','نوفمبر','ديسمبر');
var
    
d,m,y : word; s:string;
begin
  DecodeDate
(today,y,m,d);
  
s:= Yaom[DayOfWeek(today)];
  
s := s + ' ' + IntToStr(d);
  
s := s + ' ' + Chahre[m];
  
s := s + ' ' + IntToStr(y);
  
Result := s;
end; 



التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) - halim.ghenam - 30-11-2014

السلام عليكم
محاولة لحساب الفرق بين تاريخين باليوم والشهر والسنة
إضافة مدة معينة لتاريخ معين
جمع فترات زمنية مختلفة
كود :
http://www.gulfup.com/?0mKoFb



التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) - كمال زعطوط - 14-04-2015

الف شكر و بارك الله في الجميع و جعله في ميزان حسناتكم


RE: التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) - abdelhakim - 17-07-2017

بارك الله فيك على المعلومة


RE: التعامل مع التواريخ (الدالة التي يغفل عنها الكثير) - benali137 - 11-04-2018

برنامج غاية في في الروعة ربي يجازيك أخي