كيفية التعامل مع تواريخ وأوقات باستخدام مكتبة datetime في Python
تمت الكتابة بواسطة: عبد الحكيم
تارخ آخر تحديث: 10 سبتمبر 2024محتوى المقال
- ما هي مكتبة datetime؟
- إنشاء كائنات datetime
- الحصول على التاريخ والوقت الحالي
- تنسيق التواريخ والأوقات
- إجراء العمليات الحسابية على التواريخ والأوقات
- التعامل مع المناطق الزمنية (Time Zones)
- الخلاصة
تُعد مكتبة datetime واحدة من الأدوات الأساسية في Python للتعامل مع التواريخ والأوقات. توفر هذه المكتبة وظائف متعددة لإنشاء كائنات datetime، تنسيقها، وإجراء العمليات الحسابية عليها. في هذا المقال، سنتعرف على كيفية استخدام مكتبة datetime بشكل فعال من خلال أمثلة عملية.
ما هي مكتبة datetime؟
مكتبة datetime هي مكتبة مدمجة في Python تتيح للمطورين التعامل مع التواريخ والأوقات بسهولة. توفر المكتبة كائنات مثل date
، time
، datetime
، وtimedelta
، التي تُستخدم لإدارة العمليات المختلفة المتعلقة بالوقت.
لماذا نستخدم datetime؟
- إدارة التواريخ والأوقات بشكل دقيق وفعال.
- إجراء العمليات الحسابية على التواريخ، مثل حساب الفروق بين التواريخ.
- تنسيق التواريخ والأوقات لعرضها بالطريقة المطلوبة.
إنشاء كائنات datetime
يمكنك إنشاء كائنات datetime بسهولة باستخدام مكتبة datetime
. دعونا نبدأ بإنشاء كائنات للتواريخ والأوقات.
إنشاء كائنات date
يمكنك إنشاء كائن date
باستخدام الدالة date()
الموجودة في مكتبة datetime
:
from datetime import date
# إنشاء كائن تاريخ
my_date = date(2023, 9, 10)
print(my_date) # الناتج: 2023-09-10
في هذا المثال، قمنا بإنشاء كائن date
يمثل العاشر من سبتمبر 2023.
إنشاء كائنات time
يمكنك أيضًا إنشاء كائن time
باستخدام الدالة time()
:
from datetime import time
# إنشاء كائن وقت
my_time = time(14, 30, 0)
print(my_time) # الناتج: 14:30:00
هنا، قمنا بإنشاء كائن time
يمثل الساعة 14:30:00.
إنشاء كائنات datetime
لجمع كل من التاريخ والوقت في كائن واحد، يمكنك استخدام datetime
:
from datetime import datetime
# إنشاء كائن datetime
my_datetime = datetime(2023, 9, 10, 14, 30, 0)
print(my_datetime) # الناتج: 2023-09-10 14:30:00
في هذا المثال، قمنا بإنشاء كائن datetime
يمثل العاشر من سبتمبر 2023 في الساعة 14:30:00.
الحصول على التاريخ والوقت الحالي
يمكنك الحصول على التاريخ والوقت الحالي باستخدام الدوال today()
و now()
:
# الحصول على التاريخ الحالي
today = date.today()
print(today) # الناتج: 2024-09-10 (مثال)
# الحصول على التاريخ والوقت الحالي
now = datetime.now()
print(now) # الناتج: 2024-09-10 14:30:00.123456 (مثال)
الدالة today()
تُرجع التاريخ الحالي، بينما now()
تُرجع التاريخ والوقت الحالي مع الدقائق والثواني والميكروثواني.
تنسيق التواريخ والأوقات
يمكنك تنسيق التواريخ والأوقات باستخدام الدالة strftime()
، التي تسمح لك بتحويل كائنات date
و datetime
إلى سلاسل نصية بتنسيق محدد.
تنسيق التاريخ
يمكنك استخدام رموز تنسيق مختلفة لتحديد كيفية عرض التاريخ:
# تنسيق التاريخ
formatted_date = today.strftime("%d/%m/%Y")
print(formatted_date) # الناتج: 10/09/2024
في هذا المثال، نقوم بتنسيق التاريخ ليظهر بالشكل "يوم/شهر/سنة".
تنسيق الوقت
بالمثل، يمكنك تنسيق الوقت باستخدام الدالة strftime()
:
# تنسيق الوقت
formatted_time = my_time.strftime("%H:%M:%S")
print(formatted_time) # الناتج: 14:30:00
هنا، نقوم بتنسيق الوقت ليظهر بالشكل "ساعة:دقيقة:ثانية".
إجراء العمليات الحسابية على التواريخ والأوقات
يمكنك إجراء العمليات الحسابية على التواريخ والأوقات باستخدام كائن timedelta
. هذا الكائن يُستخدم لتمثيل الفرق بين تاريخين أو وقتين.
إضافة أو طرح أيام
يمكنك إضافة أو طرح عدد معين من الأيام باستخدام timedelta
:
from datetime import timedelta
# إضافة 10 أيام إلى التاريخ الحالي
new_date = today + timedelta(days=10)
print(new_date) # الناتج: 2024-09-20 (مثال)
# طرح 5 أيام من التاريخ الحالي
previous_date = today timedelta(days=5)
print(previous_date) # الناتج: 2024-09-05 (مثال)
في هذا المثال، نقوم بإضافة 10 أيام إلى التاريخ الحالي، وطرح 5 أيام منه.
حساب الفرق بين تاريخين
يمكنك حساب الفرق بين تاريخين باستخدام عملية الطرح:
# حساب الفرق بين تاريخين
date1 = date(2024, 9, 10)
date2 = date(2024, 8, 25)
difference = date1 date2
print(difference.days) # الناتج: 16
في هذا المثال، قمنا بحساب الفرق بين تاريخين، وكانت النتيجة 16 يومًا.
التعامل مع المناطق الزمنية (Time Zones)
التعامل مع المناطق الزمنية يمكن أن يكون مهمًا عند العمل على تطبيقات تحتاج لدعم مواقع متعددة. مكتبة pytz
توفر الدعم للمناطق الزمنية.
تثبيت مكتبة pytz
$ pip install pytz
استخدام pytz مع datetime
يمكنك استخدام pytz
لتعيين أو تحويل المنطقة الزمنية لكائن datetime
:
from datetime import datetime
import pytz
# إنشاء كائن datetime للوقت الحالي
now_utc = datetime.now(pytz.utc)
print(now_utc) # الناتج: 2024-09-10 14:30:00+00:00 (مثال)
# تحويل الوقت إلى منطقة زمنية محددة
now_cairo = now_utc.astimezone(pytz.timezone("Africa/Cairo"))
print(now_cairo) # الناتج: 2024-09-10 16:30:00+02:00 (مثال)
في هذا المثال، قمنا بإنشاء كائن datetime للوقت الحالي في منطقة زمنية UTC، ثم قمنا بتحويله إلى منطقة زمنية أخرى مثل القاهرة.
الخلاصة
تُعد مكتبة datetime في Python أداة قوية ومرنة للتعامل مع التواريخ والأوقات. سواء كنت بحاجة إلى إدارة التواريخ، تنسيقها، إجراء العمليات الحسابية عليها، أو التعامل مع المناطق الزمنية، توفر لك مكتبة datetime الأدوات اللازمة لإنجاز هذه المهام بكفاءة. من خلال فهم الأساسيات واستخدام الأمثلة العملية، يمكنك التعامل مع التواريخ والأوقات بثقة في مشاريع Python الخاصة بك.
طور مهاراتك: مقالات يجب قراءتها في البرمجة
- استخدام مكتبة PyTorch لتعلم الآلة في Python
- كيفية قراءة ومعالجة الصور باستخدام مكتبة OpenCV في Python
- كيفية إجراء الاختبارات الوحدوية في Python باستخدام unittest
- بناء تطبيق ويب بسيط باستخدام Django في Python
- كيفية استخدام مكتبة Seaborn لإنشاء مخططات متقدمة في Python
- كيفية إرسال رسائل بريد إلكتروني باستخدام Python
- كيفية التعامل مع النصوص الكبيرة باستخدام مكتبة StringIO في Python
- كيفية استخدام مكتبة Socket لبرمجة الشبكات في Python
- كيفية تحليل البيانات البيانية باستخدام مكتبة Plotly في Python
- إنشاء تطبيق ويب ديناميكي باستخدام FastAPI في Python