الدرس 31 من 56 · مهارات إضافية لكل شيء

الوقت والتاريخ: ساعة بايثون بجيبك

بايثون تعرف الوقت الحقيقي! تقرأ ساعة جهازك وتقول لك: الساعة كم؟ اليوم كم؟ السنة كم؟ يعني معك ساعة وتقويم بجيبك، وبأي وقت تسألها تجاوب.

المكتبة اسمها datetime، ونستخدمها هكذا:

from datetime import datetime

now = datetime.now()
print("السنة:", now.year)
print("الشهر:", now.month)
print("اليوم:", now.day)
print("الساعة:", now.hour)
print("الدقيقة:", now.minute)

now تعني "الحين" — لحظة تشغيل البرنامج بالضبط. وكل معلومة تنفصل لوحدها: السنة والشهر واليوم والساعة والدقيقة. جميل؟

وأحلى شي: نقدر ننسيق الوقت بالشكل اللي نحبه — مثل ما ترتب غرفتك بطريقتك. الأداة strftime وكل رمز له معنى:

from datetime import datetime

print(datetime.now().strftime("%Y/%m/%d"))
# 2026/10/17
print(datetime.now().strftime("%H:%M"))
# 16:02
print(datetime.now().strftime("اليوم %A"))
# اليوم Saturday

احفظ الثلاثة المهمة: %Y سنة، %m شهر، %d يوم، و%H:%M للساعة والدقيقة. والرموز تنحط وسط أي نص تحبه.

والآن أفضل خدعة بالدرس: الطرح بين تاريخين! بايثون تحسب لك الفرق تلقائياً:

from datetime import datetime

birth = datetime(2010, 5, 15)
now = datetime.now()

days = (now - birth).days
print("عمرك بالأيام تقريباً:", days)
print("وبالسنوات تقريباً:", days // 365)

طرح تاريخ من تاريخ يعطيك "فترة زمنية" — وdays فيها كم يوم. عشان هذا ممكن تسوي: عمر بالدقائق، عدّاد لأيام الاختبار، تاريخ انتهاء عرض... الخيال يوسع.

جرب بنفسك: سوّ برنامجاً يسألك عن تاريخ ميلادك ويطبع عمرك بالسنوات والأيام معاً، مع رسالة حلوة.

اختبار سريع للدرس

جاوب على كل الأسئلة — لازم كلها صح. إذا غلطت بيطلع صندوق ذهبي يفهّمك وش الخطأ. مو عيب تغلط، كل مبرمج بالعالم غلط وأخذ منها درس.

1. وش يعطيك datetime.now().year؟
2. وش معنى الرمز %H في strftime؟
3. وش نتيجة طرح تاريخين ببعض (now - birth)؟
الدرس 30 الدرس 32 — العشوائية: حجر النرد الرقمي
FeLiXFeLiX AI — مساعد المنصتين