اذهب إلى المحتوى

السؤال

نشر (معدل)

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

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

 

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

Recommended Posts

  • 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"

المصدر

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...