Introducción

Ya vimos cómo saber la fecha de mañana en PHP. Veamos hoy cómo podemos saber la fecha de ayer y la fecha de mañana en JavaScript.

Usaremos la clase Date y algunas operaciones matemáticas simples.

Fecha de ayer y fecha de mañana en JavaScript

Fecha de ayer y fecha de mañana en JavaScript

Fecha de ayer y mañana en JS

Antes de nada, dejo la documentación oficial de la clase Date aquí.

Eso es por si quieres formatearla, ya que un objeto de esa clase no está formateado.

Puedes llamar a los métodos getYear, getMonth, getDate, entre otros e ir concatenándolos o usándolos de acuerdo a tus necesidades.

Algoritmo general

Con PHP vimos que se suman y restan segundos. Con JavaScript será lo mismo pero en milisegundos.

Todas las fechas que existen (o bueno, todas después de 1970) se pueden representar con un número entero positivo, el cual es llamado tiempo Unix.

Este tiempo empieza el 1 de enero de 1970, o sea que el 1 de enero de 1970 a las 00:00:01 había pasado un segundo, lo que serían mil milisegundos. Imagina cuántos millones de milisegundos han pasado desde ese tiempo hasta ahora.

Pues el tiempo en milisegundos no debe preocuparnos, simplemente lo usaremos para hacer sumas. Si obtenemos ese tiempo en un instante, y le sumamos o restamos un día, podemos saber la fecha de distintos tiempos.

Es decir, si por ejemplo el tiempo del 5 de octubre del 2018 es 1500, y un día en milisegundos equivale a 10, hacemos la suma y tendremos 1510 milisegundos, y a este número más tarde lo pasamos a un objeto fecha para poder sacarle toda la información como el año, mes, etcétera.

Obviamente lo de arriba es un ejemplo para hacer fáciles las operaciones, en realidad el tiempo en milisegundos justo ahora es 1538750815776 y un día expresado en esa unidad de medida es 86400000.

Por cierto, antes de continuar te recomiendo leer:

Diferencias entre let, var y const

Funciones flecha en JavaScript

Son artículos de programación que te ayudarán a entender el código de abajo. Esas funciones son los nuevos estándares de JS y recomiendo aprenderlos.

Saber la fecha de mañana en JavaScript

Basta de charlas, hora del código. Ponemos todo en una función, dicha función no recibe nada y devuelve una instancia de la clase Date, es decir, un objeto.

Obtenemos la fecha de hoy, le sumamos los milisegundos de un día, y creamos un nuevo objeto de tipo Date utilizando el constructor que recibe un entero con milisegundos. Finalmente lo regresamos.

Fecha de ayer en JavaScript

Es casi lo mismo de arriba pero restamos en lugar de sumar. Queda así:

Es exactamente lo mismo que arriba, únicamente cambiamos el operador para realizar una resta.

En Node.JS

Si queremos implementar este código en Node.JS, o sea, JS en el lado del servidor, te recomiendo leer cómo ajustar las fechas de JavaScript, ya que te dará resultados inesperados por las zonas horarias.

En caso de que lo ejecutes del lado del cliente, nada debería preocuparte.

Llamada a la función

El código no es nada si no se ejecuta. En mi caso lo ejecuté en la consola del navegador con estos resultados:

Llamada a la función de javascript

Llamada a la función de javascript

Como vemos, los resultados son correctos. Únicamente sería cosa de formatear esa fecha para tener, por ejemplo, algo como “2018-10-08”.


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: