0Pricing
Ruby Academy · درس

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

strftime وstrptime

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

التنسيق باستخدام strftime

يحوّل strftime قيمة Time أو Date إلى سلسلة منسّقة باستخدام توجيهات التنسيق التي تبدأ بالرمز %.

t = Time.new(2026, 5, 30, 14, 5, 9)
puts(t.strftime('%Y-%m-%d'))
puts(t.strftime('%H:%M:%S'))

توجيهات التاريخ الشائعة

توجيهات تاريخ مفيدة:

  • %Y سنة من 4 أرقام، و%y سنة من رقمين
  • %m رقم الشهر، و%B اسم الشهر كاملًا
  • %d يوم الشهر، و%j يوم السنة
t = Time.new(2026, 5, 30)
puts(t.strftime('%B %d, %Y'))
puts(t.strftime('%y/%m/%d'))

توجيهات الوقت الشائعة

توجيهات ساعة مفيدة:

  • %H بنظام 24 ساعة، و%I بنظام 12 ساعة
  • %M الدقائق، و%S الثواني
  • %p‏ AM/PM
t = Time.new(2026, 5, 30, 14, 30)
puts(t.strftime('%I:%M %p'))
puts(t.strftime('%H:%M'))

أيام الأسبوع والأسماء

يمثّل %A اسم يوم الأسبوع كاملًا، بينما يمثّل %a الاسم المختصر. ويمثّل %b اسم الشهر المختصر.

t = Time.new(2026, 5, 30)
puts(t.strftime('%A'))
puts(t.strftime('%a %b %d'))

التعبئة والعلامات

أدرج العلامات بين % وتوجيه التنسيق: تزيل - التعبئة، وتضيف 0 أصفارًا، وتضيف _ مسافات.

t = Time.new(2026, 5, 5, 9, 0)
puts(t.strftime('%-d/%-m'))
puts(t.strftime('%H:%M'))

إخراج ISO 8601

للحصول على طوابع زمنية قابلة للتبادل، استخدم iso8601 أو النمط %FT%T%z. ويُعد ISO 8601 المعيار المستخدم في واجهات API.

require 'time'
t = Time.new(2026, 5, 30, 14, 0, 0, '+00:00')
puts(t.utc.iso8601)

التحليل باستخدام Date.parse

يقرأ Date.parse العديد من تنسيقات سلاسل التاريخ الشائعة ويخمّن بنيتها. هذا مريح، لكنه متساهل.

require 'date'
puts(Date.parse('2026-05-30'))
puts(Date.parse('30 May 2026'))

التحليل باستخدام Time.parse

استدعِ time لإضافة Time.parse، الذي يقرأ الطوابع الزمنية الكاملة، بما في ذلك وقت الساعة.

require 'time'
t = Time.parse('2026-05-30 14:30:00')
puts(t.hour)
puts(t.min)

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

عندما تعرف التنسيق الدقيق، استخدم strptime. فهو يستخدم التوجيهات نفسها التي يستخدمها strftime، ويفشل عند عدم تطابق الإدخال، مما يجعله أكثر أمانًا.

require 'date'
d = Date.strptime('30/05/2026', '%d/%m/%Y')
puts(d.year)
puts(d.month)

استخدام strptime مع قيم Time

يحلّل Time.strptime طابعًا زمنيًا ذي تنسيق معروف إلى قيمة Time.

require 'time'
t = Time.strptime('2026-05-30 14:05', '%Y-%m-%d %H:%M')
puts(t.hour)
puts(t.min)

parse مقابل strptime

قاعدة عامة:

  • استخدم parse للنصوص المرنة التي يُدخلها المستخدم
  • استخدم strptime عندما يكون التنسيق ثابتًا وتريد رفض أي صيغة أخرى
require 'date'
puts(Date.parse('May 30 2026').iso8601)
puts(Date.strptime('2026-05-30', '%Y-%m-%d').iso8601)

اختبار سريع

أي توجيه ينتج قيمة بنظام 24 ساعة معبّأة بالأصفار في strftime؟

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

يمكنك التحويل بين السلاسل النصية والتواريخ في كلا الاتجاهين:

  • ينسّق strftime القيم باستخدام توجيهات %
  • %Y %m %d %H %M %S %A %B والعلامات
  • يتميّز parse بالمرونة، بينما يتميّز strptime بالصرامة
  • استخدم iso8601 لإخراج مناسب لواجهات API
require 'date'
puts(Date.strptime('2026-05-30', '%Y-%m-%d').strftime('%A, %B %-d'))

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

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

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

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

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

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

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

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

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

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

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

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

  1. فئات الوقت والتاريخ
  2. التحليل والتنسيق
  3. الحسابات الزمنية
  4. المناطق الزمنية
← العودة إلى Ruby Academy