• 0

كيف أحصل على عمر الشخص من خلال تاريخ ولادته في الروبي؟

أريد الحصول على عمر الشخص من خلال تاريخ ولادته، جرّبت إجراء عملية طرح تاريخ اليوم من تاريخ الولادة ومن ثم قسمة عدد الأيام على 365 لكن العمر لم يكن دقيقا لوجود سنوات كبيسة بها 366 يوم، فكيف أستطيع الحصول على عمر دقيق لشخص ما؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك حلول مختلفة لحل هذه المشكلة في لغة الروبي، فمثلا يمكنك طرح السنة الحالية من سنة ميلاد الشخص الذي تريده ومن ثم تقوم باختبار هل فات يوم ميلاده أم لا Kلتعرف عمره بالضبط كما في المثال التالي:

    age = Date.today.year - birthday.year
    age -= 1 if Date.today < birthday + age.years #for days before birthday

هذا الحل سهل ولا تحتاج إلى القلق من التعامل مع السنوات الكبيسة.
وإذا كنت تستخدم ريلز (ROR) فيمكنك في هذه الحالة حل هذه المشكلة بسهولة دون مشاكل ودون التفكير في السنوات الكبيسة كما في المثال التالي:

def age(birthday)
  (Time.now.to_s(:number).to_i - birthday.to_time.to_s(:number).to_i)/10e9.to_i
end


انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن