• 0

كيف أحسب عدد الأيام بين تاريخين في ريلز؟

لدي هذين المتغيرين وأريد الحصول على عدد الأيام بين التاريخ الأول والثاني عن طريق ريلز أو روبي فما هي أفضل طريقة لفعل ذلك؟

start_date = Date.parse "2012-03-02 14:46:21 +0100"
end_date =  Date.parse "2012-04-02 14:46:21 +0200"

 

تمّ تعديل بواسطة MaxReve

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


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

هنالك عدة طرق لحساب الفرق بين تاريخين في روبي، وفي حالتك هذه، بما أنك استخدمت أصناف Date (أو حتى DateTime) فإنه يمكنك استخدام العملية البسيطة (end_date – start_date).to_i للحصول على الفرق.
أما لو افترضنا أن end_dt وstart_dt صنفان من نوع ActiveSupport::TimeWithZone فإنه سنقوم أولا بتحويلهما إلى تاريخ صالح للحساب عن طريق تابع to_date قبل أن نقوم بالعملية الحسابية لحساب الفرق.
وفي النهاية يمكنك استخدام مساعدي ريلز المدمجين كما في المثال التالي:

<% start_time =  "2012-03-02 14:46:21 +0100" %>
<% end_time   =  "2012-04-02 14:46:21 +0200" %>
<%= distance_of_time_in_words(start_time, end_time)  %>

 "about 1 month"

المصدر

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


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

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

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

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


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

تسجيل الدخول

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


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