التعامل مع التواريخ والأوقات في بايثون
التعامل مع التواريخ والأوقات هو مهمة شائعة في العديد من البرامج، سواء كنت تبني تطبيق جدولة، تعمل مع الطوابع الزمنية، أو ببساطة تقوم بتنسيق التواريخ للعرض. توفر بايثون وحدة مدمجة تُسمى datetime
التي تجعل التعامل مع التواريخ والأوقات سهلًا.
الحصول على التاريخ والوقت الحاليين
للحصول على التاريخ والوقت الحاليين، يمكنك استخدام دالة datetime.now()
من وحدة datetime
:
from datetime import datetime
current_time = datetime.now()
print(current_time) # Output: 2024-09-14 15:45:10.123456 (example output)
تعيد دالة datetime.now()
التاريخ والوقت الحاليين ككائن datetime
.
تنسيق التواريخ والأوقات
يمكنك تنسيق كائنات datetime
كسلاسل نصية لجعلها أكثر قابلية للقراءة أو لمطابقة تنسيق معين. يمكنك القيام بذلك باستخدام طريقة strftime()
، التي تسمح لك بتحديد التنسيق:
formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time) # Output: 2024-09-14 15:45:10
إليك تفصيل لبعض رموز التنسيق الشائعة:
%Y
: السنة مع القرن (مثل 2024)%m
: الشهر كعدد عشري مضاف إليه الصفر (مثل 09)%d
: اليوم من الشهر كعدد عشري مضاف إليه الصفر (مثل 14)%H
: الساعة بتنسيق 24 ساعة (مثل 15)%M
: الدقيقة كعدد عشري مضاف إليه الصفر (مثل 45)%S
: الثانية كعدد عشري مضاف إليه الصفر (مثل 10)
إنشاء ومعالجة التواريخ
يمكنك أيضًا إنشاء كائنات datetime
لتواريخ وأوقات محددة باستخدام المُنشئ datetime()
:
specific_date = datetime(2023, 12, 25, 10, 30)
print(specific_date) # Output: 2023-12-25 10:30:00
يمكنك إجراء العمليات الحسابية مع كائنات datetime
، مثل إضافة أو طرح الوقت:
from datetime import timedelta
# Add 5 days to the current date
future_date = current_time + timedelta(days=5)
print(future_date)
تمارين
التمرين 1
اكتب برنامجًا يطبع التاريخ والوقت الحاليين بالتنسيق “اليوم الشهر السنة – الساعة:الدقيقة”.
from datetime import datetime
current_time = datetime.now()
formatted_time = current_time.strftime("%d %B %Y - %H:%M:%S")
print(formatted_time)
التمرين 2
أنشئ كائن datetime
لتاريخ عيد ميلادك القادم واطبع كم يومًا تبقى حتى ذلك التاريخ.
from datetime import datetime
next_birthday = datetime(2024, 7, 15)
current_time = datetime.now()
days_until_birthday = (next_birthday - current_time).days
print(f"Days until my next birthday: {days_until_birthday}")
التمرين 3
اكتب برنامجًا يحسب عدد الأيام بين تاريخين يتم توفيرهما من قبل المستخدم.
from datetime import datetime
date1_str = input("Enter the first date (YYYY-MM-DD): ")
date2_str = input("Enter the second date (YYYY-MM-DD): ")
date1 = datetime.strptime(date1_str, "%Y-%m-%d")
date2 = datetime.strptime(date2_str, "%Y-%m-%d")
difference = abs((date2 - date1).days)
print(f"The difference between the two dates is {difference} days.")
عمل رائع! لقد تعلمت كيفية التعامل مع التواريخ والأوقات في بايثون، وهو مهارة قيمة للعديد من أنواع التطبيقات.
اترك تعليقاً