javascript

JavaScript: ciclo con fechas (recorrer período de tiempo)

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:

See the gist on github.

La salida para el ejemplo es:

See the gist on github.

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

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:

See the gist on github.

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.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
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/

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

4 días hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

4 días hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

4 días hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

4 días hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

1 semana hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 semana hace

Esta web usa cookies.