التعامل مع التواريخ والأوقات في بايثون

Amine
15/09/2024

التعامل مع التواريخ والأوقات هو مهمة شائعة في العديد من البرامج، سواء كنت تبني تطبيق جدولة، تعمل مع الطوابع الزمنية، أو ببساطة تقوم بتنسيق التواريخ للعرض. توفر بايثون وحدة مدمجة تُسمى 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.")

عمل رائع! لقد تعلمت كيفية التعامل مع التواريخ والأوقات في بايثون، وهو مهارة قيمة للعديد من أنواع التطبيقات.

التعليقات

اترك تعليقاً