Cách lấy ngày giữa 2 ngày trong JavaScript

Đưa ra hai JavaScriptDateđối tượng, làm cách nào tôi có thể lấy danh sách các ngày (cũng được thể hiện dưới dạng đối tượng Ngày) giữa 2 ngày đó?

Tôi gặp sự cố này: đưa ra hai JavaScriptDateđối tượng, làm cách nào tôi có thể lấy danh sách các ngày (cũng được thể hiện dưới dạng đối tượng Ngày) giữa 2 ngày đó?

Đây là một hàm để tính toán điều đó.

Nó nhận 2 đối tượng ngày tháng làm tham số và trả về một mảng các đối tượng Ngày tháng:

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
}

Ví dụ sử dụng:

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

getDatesBetweenDates(today, threedaysFromNow)

Nếu bạn cũng muốn bao gồm ngày bắt đầu và ngày kết thúc, bạn có thể sử dụng phiên bản này để thêm nó vào cuối:

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
}

Tải xuống miễn phí của tôiSổ tay dành cho Người mới bắt đầu JavaScript


Các hướng dẫn js khác: