javascript

Fecha de ayer y de mañana en JavaScript

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 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.

const fechaDeManana = () => {
    let hoy = new Date();
    let DIA_EN_MILISEGUNDOS = 24 * 60 * 60 * 1000;
    let manana = new Date(hoy.getTime() + DIA_EN_MILISEGUNDOS);
    return manana;
};

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í:

const fechaDeAyer = () => {
    let hoy = new Date();
    let DIA_EN_MILISEGUNDOS = 24 * 60 * 60 * 1000;
    let ayer = new Date(hoy.getTime() - DIA_EN_MILISEGUNDOS);
    return ayer;
}

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

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

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

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

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

3 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

4 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

3 semanas hace

Esta web usa cookies.