Generador de rangos de fechas

Beginner

This tutorial is from open-source community. Access the source code

Introducción

En este laboratorio, exploraremos cómo crear un generador de rangos de fechas utilizando JavaScript. Este generador nos permitirá generar fácilmente todas las fechas dentro de un rango especificado con un paso dado. Al utilizar el constructor Date y la palabra clave yield, podemos iterar eficientemente sobre las fechas y devolverlas al usuario. Este laboratorio será una gran oportunidad para practicar el trabajo con bucles y fechas en JavaScript.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 100%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Generador de rangos de fechas

Para generar todas las fechas en un rango dado con un paso dado, utiliza el siguiente código en Terminal/SSH y escribe node:

const dateRangeGenerator = function* (start, end, step = 1) {
  let d = start;
  while (d < end) {
    yield new Date(d);
    d.setDate(d.getDate() + step);
  }
};

Esto crea un generador que utiliza un bucle while para iterar desde start hasta end, utilizando el constructor Date para devolver cada fecha en el rango e incrementando en step días utilizando Date.prototype.getDate() y Date.prototype.setDate().

Para utilizar un valor predeterminado de 1 para step, omite el tercer argumento.

Aquí hay un ejemplo de cómo utilizar el dateRangeGenerator:

[...dateRangeGenerator(new Date("2021-06-01"), new Date("2021-06-04"))];
// [ 2021-06-01, 2021-06-02, 2021-06-03 ]

Resumen

¡Felicidades! Has completado el laboratorio de Generador de rangos de fechas. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.