كيفية الحصول على الأيام الواقعة بين تاريخين في JavaScript

نظرا اثنين من جافا سكريبتDateكائنات ، كيف يمكنني الحصول على قائمة بالأيام (معبرًا عنها ككائنات تاريخ أيضًا) بين هذين التاريخين؟

واجهت هذه المشكلة: أعطيت اثنين من JavaScriptDateكائنات ، كيف يمكنني الحصول على قائمة بالأيام (معبرًا عنها ككائنات تاريخ أيضًا) بين هذين التاريخين؟

ها هي وظيفة لحساب ذلك.

تحصل على كائنين من كائنات التاريخ كمعلمات ، وتُرجع مصفوفة من كائنات التاريخ:

const getDatesBetweenDates = (startDate, endDate) => {
  let dates = []
  //to avoid modifying the original date
  const theDate = new Date(startDate)
  while (theDate < endDate) {
    dates = [...dates, new Date(theDate)]
    theDate.setDate(theDate.getDate() + 1)
  }
  return dates
}

استخدام المثال:

const today = new Date()
const threedaysFromNow = new Date(today)
threedaysFromNow.setDate( threedaysFromNow.getDate() + 3)

getDatesBetweenDates(today, threedaysFromNow)

إذا كنت تريد أيضًا تضمين تاريخي البدء والانتهاء ، فيمكنك استخدام هذا الإصدار الذي يضيفه في النهاية:

const getDatesBetweenDates = (startDate, endDate) => {
  let dates = []
  //to avoid modifying the original date
  const theDate = new Date(startDate)
  while (theDate < endDate) {
    dates = [...dates, new Date(theDate)]
    theDate.setDate(theDate.getDate() + 1)
  }
  dates = [...dates, endDate]
  return dates
}

المزيد من دروس js: