التحليل والتنسيق
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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- فئات الوقت والتاريخ
- التحليل والتنسيق
- الحسابات الزمنية
- المناطق الزمنية