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

السؤال

نشر

لدي تاريخين تاريخين محددين، وأريد حساب عدد الأيام بينهما:

const date1 = "1/1/2022";
const date2 = "1/1/2023";

const numberOfDays = ??

كيف أحصل على عدد الأيام بين تاريخين في جافاسكريبت JavaScript؟

Recommended Posts

  • 1
نشر

يمكن إنشاء كائنين من نوع Date لكل من التاريخين لديك، ثم حساب فرق التوقيت بينهما رياضيًا، والذي يكون بوحدة الميلي ثانية بتقسيم هذا الفرق على عدد الميلي ثانية في اليوم الواحد لتكون الشيفرة كالتالي: 

const date1 = "1/1/2022";
const date2 = "1/1/2023";

const numberOfDays = (new Date(date2) - new Date(date1)) / 86_400_000;
//                                                         ^^^^^^^^^^
//                                                    ميلي ثانية في اليوم

إذا كانت القيم معلومة تأكد من طرح التاريخ الأكبر من التاريخ الأصغر للحصول على نتيجة موجبة، أو يمكنك حساب القيمة المطلقة للنتيجة في حال لم تكن المدخلات معلومة دومًا ليكون الحساب كالتالي:

const numberOfDays = Math.abs(new Date(date2) - new Date(date1)) / 86_400_000;

يمكنك التعرف على الكائن Date في جافاسكربت أكثر من المقال التالي:

 

  • 1
نشر (معدل)

حساب الفرق بين تاريخين ناتجه ب ميلي ثواني اذا لحساب الايام نقوم بقسمته على عدد ميلي الثواني في يوم واحد.

const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds 
const date1 = new Date(2022, 1, 1);
const date2 = new Date(2023, 1, 1);

const diffDays = Math.round(Math.abs((firstDate - secondDate) / oneDay)); //  حساب الفرق باﻷيام
console.log(diffDays) //طباعة الفرق 
تم التعديل في بواسطة Ayoub Souad
  • 1
نشر

يمكنك ايضا باستعمال مكتبة moment.js الاستعانة بالتابع diff لتحديد فرق الايام بين تاريخ وآخر. 

مثال:

var a = moment([2022, 1, 1]); 
var b = moment([2023, 1, 1]);
a.diff(b) // الفرق بالثواني
a.diff(b ,'days') // الفرق بالأيام

بالطبع فان هذا يقتضي تضمين الملف المصدري للحزمة:

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js"></script>

 

  • 0
نشر

لحساب عدد الأيام بين تاريخين في JavaScript نستخدام كائن التاريخ لأي نوع من الحسابات. لذلك ، أولاً ، احصل على قيمة المللي ثانية الداخلية للتاريخ باستخدام دالة JavaScript getTime () . بمجرد أن يتم تحويل كلا التاريخين ، تابع  بطرح التاريخ الأحدث من التاريخ السابق والذي بدوره يُرجع الفرق بالمللي ثانية. لاحقًا ، يمكن حساب النتيجة النهائية بقسمة الفرق (الذي يكون بالملي ثانية) في كلا التاريخين على عدد المللي ثانية في يوم واحد.

<script type = "text/javascript" >

	// تعريف تاريخين
var date1 = new Date("09/07/2022");
var date2 = new Date("09/17/2022");

// نحسب الفارق بالميليثانية
var Difference_In_Time = date2.getTime() - date1.getTime();

// ثم نحولها الى أيام او ساعات ...
var Difference_In_Days = Difference_In_Time / (1000 * 3600 * 24);



</script>

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...