Timedelta والعمليات الحسابية
احسب الفروقات بين التواريخ
Timedelta والعمليات الحسابية درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.
ما هي timedelta؟
تمثّل timedelta مدة زمنية — أي الفاصل بين نقطتين زمنيتين. وهي ناتج طرح تاريخ أو datetime من تاريخ أو datetime آخر.
استوردوها باستخدام from datetime import timedelta.
from datetime import timedelta
gap = timedelta(days=3)
print(gap)إنشاء مدة زمنية
أنشئوا كائن timedelta باستخدام وسائط مسماة مثل days وhours وminutes وseconds. وتطبّعها Python إلى أيام وثوانٍ وميكروثوانٍ.
from datetime import timedelta
d = timedelta(days=1, hours=6, minutes=30)
print(d)طرح تاريخين
يؤدي طرح كائن date من كائن date آخر إلى إنتاج كائن timedelta. وهذه هي الطريقة لقياس الفاصل بين يومين.
from datetime import date
start = date(2026, 1, 1)
end = date(2026, 5, 30)
diff = end - start
print(diff)الأيام بين تاريخين
تعطي الخاصية .days للكائن timedelta عدد الأيام الكاملة كعدد صحيح، وهو ما يناسب الإجابة عن سؤال «كم يومًا حتى X؟».
from datetime import date
new_year = date(2027, 1, 1)
today = date(2026, 5, 30)
print('Days left:', (new_year - today).days)إضافة وقت إلى تاريخ
أضيفوا كائن timedelta إلى كائن date أو datetime للتقدم في الزمن. واطرحوه للرجوع إلى الوراء.
from datetime import date, timedelta
today = date(2026, 5, 30)
in_two_weeks = today + timedelta(days=14)
print('In two weeks:', in_two_weeks)العودة إلى الماضي
يؤدي طرح timedelta إلى نقل التاريخ إلى الماضي. نستخدمه هنا للعثور على تاريخ قبل أسبوع.
from datetime import date, timedelta
today = date(2026, 5, 30)
last_week = today - timedelta(weeks=1)
print('A week ago:', last_week)إجمالي الثواني في مدة زمنية
تُرجع الطريقة .total_seconds() المدة كاملةً معبَّراً عنها كعدد عشري واحد من الثواني. وهذا مفيد لإجراء حسابات زمنية دقيقة.
from datetime import timedelta
d = timedelta(hours=2, minutes=30)
print('Total seconds:', d.total_seconds())العمليات الحسابية على datetime
تنطبق القواعد نفسها على كائنات datetime. تؤدي إضافة مدة زمنية إلى نقل التاريخ ووقت الساعة بشكل صحيح، مع الانتقال إلى اليوم التالي عند الحاجة.
from datetime import datetime, timedelta
start = datetime(2026, 5, 30, 23, 0)
later = start + timedelta(hours=3)
print(later)ضرب المدد الزمنية
يمكن ضرب timedelta في عدد لتغيير مقياسها. يسهّل ذلك حساب خمس دورات sprint، مدة كل منها أسبوعان، على سبيل المثال.
from datetime import timedelta
sprint = timedelta(weeks=2)
five_sprints = sprint * 5
print(five_sprints)مقارنة المدد الزمنية
يمكن مقارنة المدد الزمنية بعضها ببعض باستخدام < و> و==. يتيح لك ذلك التحقق مما إذا كانت مدة زمنية أطول من أخرى.
from datetime import timedelta
a = timedelta(hours=5)
b = timedelta(days=1)
print(a < b)
print(max(a, b))فصل الأيام عن الثواني
يخزّن timedelta كلاً من .days و.seconds بشكل منفصل. لا تحتوي السمة .seconds إلا على الثواني المتبقية ضمن اليوم الأخير (من 0 إلى 86399)، وليس إجمالي الثواني.
from datetime import timedelta
d = timedelta(days=2, hours=3)
print('days:', d.days)
print('seconds:', d.seconds)تحقق سريع
ماذا تُرجع عملية طرح date من أخرى؟
مراجعة: Timedelta والعمليات الحسابية
أهم النقاط:
- تنشئ
timedelta(days=, hours=, ...)مدة زمنية. - يُرجع طرح تاريخين أو كائنَي datetime قيمة
timedelta. - أضف
timedeltaأو اطرحه لنقل التواريخ إلى الأمام أو الخلف. - اقرأ
.daysأو استدعِ.total_seconds()للحصول على قيم رقمية، واضرب المدد الزمنية لتغيير مقياسها.
from datetime import date, timedelta
today = date(2026, 5, 30)
print('In 100 days:', today + timedelta(days=100))الأسئلة الشائعة
هل درس «Timedelta والعمليات الحسابية» مجاني؟
نعم — نص درس «Timedelta والعمليات الحسابية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.
ماذا ستتعلم في «Timedelta والعمليات الحسابية»؟
احسب الفروقات بين التواريخ تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟
لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «Timedelta والعمليات الحسابية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟
نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- date وtime وdatetime
- Timedelta والعمليات الحسابية
- التنسيق والتحليل
- المناطق الزمنية باستخدام zoneinfo