En este post veremos cómo iterar un período de fechas con JavaScript usando un ciclo. Es decir, ir de una fecha a otra con un intervalo de días.

Con este código podremos ir de una fecha de inicio a una fecha de fin saltando entre días, horas, meses, años o cualquier período de tiempo.

Gracias a esto podremos, por ejemplo, recorrer un año saltando de semana a semana. Esto servirá para generar fechas de pagos o cualquier otra cosa interesante que necesitemos.

Explicación del algoritmo

En varios lenguajes de programación podemos representar las fechas como los segundos o milisegundos transcurridos desde la fecha Unix, es decir, el 1 de enero de 1970.

De hecho creo que todos los lenguajes lo hacen así y al final simplemente formatean esa cantidad de segundos.

Entonces para hacer un ciclo que inicia y termina en una fecha con JavaScript podemos usar ese número entero de milisegundos transcurridos para ir saltando de fecha en fecha, creando una nueva fecha en cada paso.

Nota: esto ya lo habíamos hecho con PHP hace algún tiempo.

Ciclo con fechas en JavaScript

Vamos al código con JS. Es como un ciclo for, pero en este caso la variable i es la cantidad de milisegundos.

Y en el paso de la asignación, creamos un nuevo objeto de tipo Date al cual le asignamos lo que devuelva getTime de la fecha sumando al incremento. Así de simple.

En el siguiente ejemplo vamos del 1 de enero de 2021 al 31 de diciembre de ese mismo año, incrementando semana por semana:

La salida para el ejemplo es:

Nota: hay más formatos para la fecha. Más abajo te dejaré un enlace donde te enseño cómo formatear la fecha.

Más ejemplos

Recorrer intervalo de fechas con JavaScript - Ciclo con período de tiempo

Recorrer intervalo de fechas con JavaScript – Ciclo con período de tiempo

No nos limitamos a días. También podemos recorrer un rango de fechas con JavaScript incrementando por minutos.

En el siguiente ejemplo marcamos la fecha y hora cada 45 minutos, desde el 1 de enero a medianoche hasta el 2 de enero:

La salida ya la has visto en la imagen que acompaña al encabezado de esta sección. Como puedes ver solo es cuestión de cambiar el intervalo y jugar con los milisegundos.

Recuerda que estoy usando el formateador de fechas de JavaScript con Intl para mostrar el objeto de tipo Date de una manera amigable para el usuario.

Este código que recorre fechas con un ciclo puede ejecutarse en el navegador o en el servidor con Node, ya que al final es JS.

Por aquí te dejo más posts de JavaScript.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 4,207 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comentarios

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada.

A %d blogueros les gusta esto: