فئات الوقت والتاريخ
التعامل مع الوقت
فئات الوقت والتاريخ درس مجاني في Ruby Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ruby Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ruby Academy 4 دروس في المجموع.
الفئة Time
تمثل الفئة المضمنة Time في Ruby لحظة زمنية. ويعطي Time.now الوقت الحالي، بما في ذلك التاريخ والساعة.
t = Time.now
puts t.class
puts(t.year)إنشاء وقت محدد
ينشئ Time.new (أو Time.local) وقتًا من عدة أجزاء: السنة والشهر واليوم والساعة والدقيقة والثانية.
t = Time.new(2026, 5, 30, 14, 30, 0)
puts t.year
puts t.hour
puts t.minقراءة مكونات الوقت
يتيح Time الوصول إلى كل جزء عبر أساليب مثل year وmonth وday وhour وmin وsec وwday (يوم الأسبوع، حيث 0 = الأحد).
t = Time.new(2026, 5, 30)
puts(t.month)
puts(t.day)
puts(t.wday)ثواني الحقبة
يمثل Time داخليًا عدد الثواني منذ حقبة Unix (1 يناير 1970 بالتوقيت العالمي UTC). استخدم to_i للحصول على هذا العدد، وTime.at للتحويل منه مرة أخرى.
secs = Time.new(2026, 1, 1, 0, 0, 0, '+00:00').to_i
puts secs
puts(Time.at(secs).utc.year)الفئة Date
للتعامل مع التقويم دون الساعة، استورد مكتبة date واستخدم الفئة Date.
require 'date'
d = Date.new(2026, 5, 30)
puts d.class
puts(d.to_s)اليوم والآن
تعطي Date.today تاريخ التقويم الحالي. ويتضمن DateTime.now وقت اليوم أيضًا.
require 'date'
puts(Date.today.class)
puts(DateTime.now.class)يوم الأسبوع
توفر Date أساليب منطقية وأسماء واضحة لأيام الأسبوع.
require 'date'
d = Date.new(2026, 5, 30)
puts(d.saturday?)
puts(d.wday)Date مقابل Time مقابل DateTime
اختر الصنف المناسب:
Dateتاريخ تقويمي فقط، من دون وقتTimeلحظة زمنية دقيقة مع المنطقة الزمنية، وسريعDateTimeتاريخ بالإضافة إلى وقت، وهو جزء من مكتبة التاريخ
عادةً ما يفضّل كود Ruby الحديث استخدام Time.
require 'date'
puts(Date.new(2026, 5, 30))
puts(Time.new(2026, 5, 30, 9, 0).hour)السنوات الكبيسة
تخبرك Date.leap? بما إذا كانت السنة كبيسة، وهو ما يؤثر في طول شهر فبراير.
require 'date'
puts(Date.leap?(2024))
puts(Date.leap?(2026))UTC والمحلي
يمكن أن تكون قيمة Time في المنطقة المحلية أو في UTC. يحوّل utc القيمة إلى UTC، بينما يعيدها localtime إلى المنطقة المحلية. ويتحقق utc? من الوضع الحالي.
t = Time.new(2026, 5, 30, 12, 0, 0, '+03:00')
puts(t.utc.hour)
puts(t.utc?)مقارنة الأوقات
يمكن مقارنة كائنات Time وDate باستخدام < و> و==، ولذلك يمكنك ترتيبها أو التحقق من ترتيبها مباشرةً.
a = Time.new(2026, 1, 1)
b = Time.new(2026, 6, 1)
puts(a < b)
puts([b, a].min.month)اختبار سريع
أي صنف يمثّل تاريخًا تقويميًا من دون مكوّن وقت اليوم؟
مراجعة: أصناف Time وDate
لقد تعلّمت أنواع التاريخ والوقت الأساسية:
Time.now/Time.newلتمثيل اللحظات الزمنية- المكوّنات: السنة، الشهر، اليوم، الساعة، الدقيقة، الثانية، ويوم الأسبوع
- الثواني منذ العصر عبر
to_iوTime.at Date/DateTimeمن مكتبة التاريخ- الفرق بين UTC والمنطقة المحلية، والمقارنة، والسنوات الكبيسة
require 'date'
puts(Date.today.year)الأسئلة الشائعة
هل درس «فئات الوقت والتاريخ» مجاني؟
نعم — نص درس «فئات الوقت والتاريخ» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ruby Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ruby Academy 4 دروس في المجموع.
ماذا ستتعلم في «فئات الوقت والتاريخ»؟
التعامل مع الوقت تتمرن على Ruby Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ruby Academy؟
لا تُشترط خبرة سابقة. Ruby Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «فئات الوقت والتاريخ»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ruby Academy هذا؟
نعم. كل درس في Ruby Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- فئات الوقت والتاريخ
- التحليل والتنسيق
- الحسابات الزمنية
- المناطق الزمنية