0Pricing
Python Academy · درس

التنسيق والتحليل

استخدم strftime وstrptime

التنسيق والتحليل درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

لماذا ننسّق ونحلّل؟

تخزّن أجهزة الكمبيوتر التواريخ ككائنات، بينما يقرأها البشر كنصوص. يحوّل التنسيق كائن datetime إلى سلسلة نصية، ويحوّل التحليل السلسلة النصية مرة أخرى إلى كائن datetime.

  • strftime لتحويل الوقت إلى سلسلة نصية (تنسيق).
  • strptime لتحويل سلسلة نصية إلى وقت (تحليل).
from datetime import datetime
now = datetime(2026, 5, 30, 14, 5)
print(now)

أول استخدام لـ strftime

استدعِ .strftime(format) على كائن datetime. تبدأ رموز التنسيق بالرمز %: يشير %Y إلى سنة من أربعة أرقام، ويشير %m إلى الشهر، ويشير %d إلى اليوم.

from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%Y-%m-%d'))

تنسيق جزء الوقت

رموز الوقت: يشير %H إلى الساعة (00-23)، ويشير %M إلى الدقيقة، ويشير %S إلى الثانية. اخلط بينها وبين النصوص الحرفية بالطريقة التي تريدها.

from datetime import datetime
d = datetime(2026, 5, 30, 9, 7, 3)
print(d.strftime('%H:%M:%S'))

أسماء سهلة القراءة

تنتج بعض الرموز أسماءً: يشير %A إلى اسم يوم الأسبوع كاملاً، ويشير %B إلى اسم الشهر كاملاً، بينما يشير %b إلى اسم الشهر المختصر.

from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%A, %B %d, %Y'))

نظام 12 ساعة وAM/PM

استخدم %I لساعة بنظام 12 ساعة، و%p لـ AM أو PM. وهذا شائع في العروض الموجّهة إلى المستخدمين.

from datetime import datetime
d = datetime(2026, 5, 30, 14, 30)
print(d.strftime('%I:%M %p'))

تحليل النصوص باستخدام strptime

تقرأ datetime.strptime(text, format) سلسلة نصية وتحولها إلى كائن datetime. يجب أن يتطابق التنسيق مع النص تماماً، رمزاً برمز.

from datetime import datetime
text = '2026-05-30'
d = datetime.strptime(text, '%Y-%m-%d')
print(d)
print(type(d))

تحليل التاريخ والوقت معاً

ضمّن رموز الوقت في التنسيق لتحليل طابع زمني كامل. يجب أن يظهر كل فاصل (الشرطات والمسافات والنقاط) الموجود في النص أيضاً في النمط.

from datetime import datetime
text = '30/05/2026 14:05'
d = datetime.strptime(text, '%d/%m/%Y %H:%M')
print(d.year, d.hour, d.minute)

دورة كاملة: التحليل ثم التنسيق

من الأساليب الشائعة تحليل النص الوارد، وإجراء بعض العمليات عليه، ثم إعادة تنسيقه للإخراج، حتى باستخدام تخطيط مختلف.

from datetime import datetime
raw = '2026-05-30'
d = datetime.strptime(raw, '%Y-%m-%d')
pretty = d.strftime('%B %d, %Y')
print(pretty)

اختصار تنسيق ISO

ينتج .isoformat() سلسلة نصية وفق معيار ISO 8601، بينما يقرأها datetime.fromisoformat() مرة أخرى من دون الحاجة إلى رموز التنسيق.

from datetime import datetime
d = datetime(2026, 5, 30, 14, 5)
s = d.isoformat()
print(s)
back = datetime.fromisoformat(s)
print(back == d)

معالجة أخطاء التحليل

إذا لم يتطابق النص مع التنسيق، يرفع strptime استثناء ValueError. ضع الاستدعاء داخل try/except عندما يكون الإدخال قابلاً لاحتواء أخطاء في التنسيق.

from datetime import datetime
try:
    datetime.strptime('not-a-date', '%Y-%m-%d')
except ValueError as e:
    print('Could not parse:', e)

يوم السنة والمزيد

رموز إضافية: يشير %j إلى يوم السنة (001-366)، ويشير %w إلى يوم الأسبوع كرقم (0=الأحد). وتفيد هذه الرموز في التقارير.

from datetime import datetime
d = datetime(2026, 5, 30)
print('Day of year:', d.strftime('%j'))

تحقق سريع

لديك السلسلة النصية '2026-05-30'. ما الاستدعاء الذي يحوّلها إلى كائن datetime؟

مراجعة: التنسيق والتحليل

تذكّر ما يلي:

  • تحوّل strftime(fmt) كائن datetime إلى سلسلة نصية.
  • تحوّل strptime(text, fmt) سلسلة نصية إلى كائن datetime.
  • الرموز الشائعة: %Y %m %d للتواريخ، و%H %M %S للأوقات، و%A %B للأسماء.
  • يتعامل isoformat() وfromisoformat() مع معيار ISO تلقائياً.
from datetime import datetime
d = datetime.strptime('2026-05-30 14:05', '%Y-%m-%d %H:%M')
print(d.strftime('%A at %I:%M %p'))

الأسئلة الشائعة

هل درس «التنسيق والتحليل» مجاني؟

نعم — نص درس «التنسيق والتحليل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «التنسيق والتحليل»؟

استخدم strftime وstrptime تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «التنسيق والتحليل»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. date وtime وdatetime
  2. Timedelta والعمليات الحسابية
  3. التنسيق والتحليل
  4. المناطق الزمنية باستخدام zoneinfo
← العودة إلى Python Academy