Dados dos objetos `Date` de JavaScript, ¿cómo puedo obtener una lista de los días (expresados también como objetos Date) entre esas 2 fechas?
Tuve este problema: dados dos Date
objetos JavaScript, ¿cómo puedo obtener una lista de los días (expresados también como objetos Date) entre esas 2 fechas?
Aquí hay una función para calcular eso.
Obtiene 2 objetos de fecha como parámetros y devuelve una matriz de objetos de fecha:
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}
Ejemplo de uso:
const today = new Date()const threedaysFromNow = new Date(today)threedaysFromNow.setDate( threedaysFromNow.getDate() + 3)getDatesBetweenDates(today, threedaysFromNow)
Si también quieres incluir la fecha de inicio y fin, puedes utilizar esta versión que la añade al final:Te recomendamos Descargar Handbrake para PC y Mac
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}
Tips para principiantes de JavaScript
Tal vez te puede interesar:
- Cómo generar un número aleatorio entre dos números en JavaScript
- Cómo esperar el evento DOM listo en JavaScript simple
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo contar el número de propiedades en un objeto JavaScript
Cómo obtener los días entre dos fechas en JavaScript
Dados dos objetos `Date` de JavaScript, ¿cómo puedo obtener una lista de los días (expresados también como objetos Date) entre esas 2 fechas?
programar
es
2025-01-22

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente