في هذا الدرس سنتعلم كيفية استخدام وحدة datetime في Python للتعامل مع الوقت والتاريخ.
📦 أولًا: استيراد الوحدة
import datetime
⏰ الحصول على التاريخ والوقت الحالي
import datetime
now = datetime.datetime.now()
print("التاريخ والوقت الحالي:", now)
مثال على المخرجات:
التاريخ والوقت الحالي: 2025-05-28 22:15:30.123456
🗓️ الحصول على التاريخ فقط
today = datetime.date.today()
print("تاريخ اليوم:", today)
🕒 الوصول إلى أجزاء الوقت
now = datetime.datetime.now()
print("السنة:", now.year)
print("الشهر:", now.month)
print("اليوم:", now.day)
print("الساعة:", now.hour)
print("الدقيقة:", now.minute)
print("الثانية:", now.second)
🧮 إنشاء تاريخ أو وقت معين
my_birthday = datetime.datetime(1995, 7, 20, 12, 0, 0)
print("تاريخ ميلادي:", my_birthday)
➕➖ العمليات على التواريخ
from datetime import datetime, timedelta
today = datetime.now()
after_7_days = today + timedelta(days=7)
yesterday = today - timedelta(days=1)
print("اليوم:", today)
print("بعد 7 أيام:", after_7_days)
print("أمس:", yesterday)
📅 تنسيق التاريخ والوقت
now = datetime.datetime.now()
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print("التنسيق الجميل للتاريخ والوقت:", formatted)
🧾 أهم الرموز:
%Y→ السنة%m→ الشهر%d→ اليوم%H→ الساعة (24)%M→ الدقيقة%S→ الثانية
🧠 ملاحظات:
- الوحدة
datetimeمدمجة في Python ولا تحتاج إلى تثبيت. - العمليات على التواريخ مفيدة جداً في تطبيقات مثل: المهام، التنبيهات، حساب الفروقات الزمنية، إلخ.
✅ تمرين: حساب عدد الأيام المتبقية على مناسبة معينة
المطلوب:
اكتب برنامجًا بلغة Python يقوم بما يلي:
- يطلب من المستخدم إدخال تاريخ مناسبة قادمة (مثل: عيد ميلاد، امتحان، مناسبة خاصة) بصيغة
YYYY-MM-DD. - يحسب عدد الأيام المتبقية حتى هذا التاريخ.
- يعرض رسالة توضح كم يومًا متبقيًا.
💡 الحل المقترح:
from datetime import datetime
# إدخال تاريخ المناسبة
user_input = input("أدخل تاريخ المناسبة بصيغة YYYY-MM-DD: ")
# تحويل السلسلة إلى كائن تاريخ
event_date = datetime.strptime(user_input, "%Y-%m-%d").date()
# الحصول على تاريخ اليوم
today = datetime.today().date()
# حساب الفرق بين التاريخين
days_remaining = (event_date - today).days
# عرض النتيجة
if days_remaining > 0:
print(f"تبقى {days_remaining} يومًا على المناسبة 🎉")
elif days_remaining == 0:
print("اليوم هو يوم المناسبة! 🎊")
else:
print("لقد مرت هذه المناسبة بالفعل.")
🧪 مثال على التشغيل:
أدخل تاريخ المناسبة بصيغة YYYY-MM-DD: 2025-07-10
تبقى 43 يومًا على المناسبة 🎉
