أساسيات وحدة datetime في Python
يُعد التعامل مع التواريخ والوقت من أهم المهام في البرمجة. في Python، نستخدم وحدة datetime القوية والمرنة لهذا الغرض. تتيح لك هذه الوحدة إدارة التواريخ والوقت والفترات الزمنية والتنسيق بسهولة.
إذا كنت تتساءل يومًا عن كيفية الحصول على تاريخ اليوم في Python، أو حساب الفرق بين تاريخين، أو تحويل نص إلى تاريخ، فهذه المقالة ستقدم لك إجابات شاملة مع أمثلة جاهزة.
ما هي وحدة datetime
وحدة datetime جزء من المكتبة الأساسية لـ Python. توفر فئات للتعامل مع الوقت والتواريخ. هذه الوحدة مدمجة، لذا لا تحتاج إلى تثبيت إضافي.
باستخدام وحدة datetime يمكنك:
- الحصول على التاريخ والوقت الحالي
- إجراء عمليات حسابية على التواريخ
- تنسيق وتحويل التواريخ
- التعامل مع الفترات الزمنية عبر فئة timedelta
- إدارة المناطق الزمنية
يتم استيراد الوحدة بالطريقة القياسية:
import datetime
الحصول على التاريخ والوقت الحالي
كيفية الحصول على تاريخ اليوم
الحصول على التاريخ الحالي من أكثر المهام شيوعًا. للقيام بذلك، استخدم التابع today() من فئة date:
from datetime import date
today = date.today()
print(f"تاريخ اليوم: {today}")
النتيجة تظهر بتنسيق YYYY-MM-DD، مثل: 2025-05-09.
الحصول على الوقت والتاريخ معًا
إذا كنت بحاجة إلى التاريخ والوقت معًا، استخدم فئة datetime والتابع now():
from datetime import datetime
now = datetime.now()
print(f"التاريخ والوقت الحالي: {now}")
استخراج مكونات التاريخ والوقت بشكل منفصل
تتيح وحدة datetime استخراج المكونات الفردية بسهولة:
current_time = datetime.now()
print(f"السنة: {current_time.year}")
print(f"الشهر: {current_time.month}")
print(f"اليوم: {current_time.day}")
print(f"الساعات: {current_time.hour}")
print(f"الدقائق: {current_time.minute}")
print(f"الثواني: {current_time.second}")
تنسيق التاريخ والوقت
أساسيات التنسيق
غالبًا ما نحتاج إلى عرض التاريخ بشكل مقروء. لهذا نستخدم التابع strftime() لتحديد تنسيق العرض المطلوب:
now = datetime.now()
formatted = now.strftime("%d-%m-%Y %H:%M:%S")
print(f"التاريخ والوقت المنسق: {formatted}")
رموز التنسيق الشائعة
تدعم وحدة datetime العديد من رموز التنسيق:
- %Y — السنة (4 أرقام)، مثل: 2025
- %m — الشهر (بصفر بادئ)، مثل: 05
- %d — يوم الشهر، مثل: 09
- %H — الساعات (نظام 24 ساعة)، مثل: 14
- %M — الدقائق، مثل: 30
- %S — الثواني، مثل: 45
- %A — اسم اليوم الكامل، مثل: Friday
- %B — اسم الشهر الكامل، مثل: May
تحويل نص إلى تاريخ
إذا كان لديك تاريخ على شكل نص وتريد تحويله إلى كائن datetime، استخدم التابع strptime():
from datetime import datetime
date_string = "09-05-2025"
converted_date = datetime.strptime(date_string, "%d-%m-%Y")
print(f"التاريخ بعد التحويل: {converted_date}")
العمليات الحسابية على التواريخ
حساب الفرق بين تاريخين
تتيح وحدة datetime حساب عدد الأيام بين تاريخين بسهولة. النتيجة تكون كائنًا من نوع timedelta:
from datetime import date
date1 = date(2025,