delphi4arab منتديات دلفي للعرب
كيف اطرح او اضيف شهور لتاريخ ما بحيث تكون النتيجة على هذا الشكل - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف اطرح او اضيف شهور لتاريخ ما بحيث تكون النتيجة على هذا الشكل (/showthread.php?tid=11165)



كيف اطرح او اضيف شهور لتاريخ ما بحيث تكون النتيجة على هذا الشكل - medreg - 05-12-2020

السلام عليكم ورحمة الله تعالى وبركات
اخوان الأعزاء
كيف يمكنني الحصول على هذه النتيجة
اذا اضفت 6 اشهر لتاريخ ما او طرحتها على انت تكون بهذا الشكل
مثال على ذلك
31/12/2020
عندما اطرح منها
00 سنة
06 اشهر
00 يوم
يجب ان تكون النتيجة
على هذا الشكل 01/07/2020
وليس 31/06/2020
وفي الإضافة ايضا هناك نفس الإشكال
عندما يكون تاريخ مثلا
01/01/2019
إضافة
03 سنة
00 اشهر
00 يوم
واطرح منه
00 سنة
06 اشهر
00 يوم
النتيجة المطلوبة هي
01/07/2021

جزاكم الله عنا كل خير


RE: كيف اطرح او اضيف شهور لتاريخ ما بحيث تكون النتيجة على هذا الشكل - sofiane201 - 06-12-2020

بالنسبة لمثالك الأول, زد في التاريخ يوما واحدا ثم انقص منه 6 أشهر, هكذا:

في uses أضف:
PHP كود :
System.DateUtils 

ثم:
PHP كود :
var
  aDate: TDateTime;
begin
  aDate 
:= EncodeDate(2020, 12, 31);

  aDate := IncDay(aDate);
  aDate := IncMonth(aDate, -6);

  // أو هكذا
  // aDate := IncMonth(IncDay(aDate), -6);

  ShowMessage(DateToStr(aDate));
end; 

[صورة: image.png]

والثاني:

PHP كود :
aDate := IncMonth(IncYear(aDate, 3), -6); 



RE: كيف اطرح او اضيف شهور لتاريخ ما بحيث تكون النتيجة على هذا الشكل - medreg - 06-12-2020

شكرا اخي كان لدي مشكلة في الكود واستدركت الخطأ بفضلك
جزاكم الله عنا كل خير


RE: كيف اطرح او اضيف شهور لتاريخ ما بحيث تكون النتيجة على هذا الشكل - محمد عبد العزيز - 07-12-2020

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


RE: كيف اطرح او اضيف شهور لتاريخ ما بحيث تكون النتيجة على هذا الشكل - medreg - 07-12-2020

بارك الله فيكما جميعا وفي اهلكم آمين