Calcular días atrás con JavaScript

Beginner

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

Introducción

En este laboratorio, profundizaremos en la programación de JavaScript y crearemos una función llamada daysAgo. Esta función toma un número como entrada y calcula la fecha que fue hace n días a partir de hoy. Utilizaremos el constructor Date, junto con varios métodos como Math.abs() y Date.prototype.setDate(), para completar esta tarea y devolver el resultado como una cadena en el formato yyyy-mm-dd. Al final de este laboratorio, habrás adquirido una comprensión más profunda del trabajo con fechas en JavaScript.

Función de JavaScript para calcular días atrás

Aquí hay una función de JavaScript que calcula la fecha de hace n días a partir de hoy y la devuelve como una cadena en el formato yyyy-mm-dd:

const daysAgo = (n) => {
  const today = new Date();
  const daysAgoDate = new Date(today.setDate(today.getDate() - Math.abs(n)));
  return daysAgoDate.toISOString().split("T")[0];
};

Así es como funciona:

  • El constructor Date se utiliza para obtener la fecha actual.
  • La función Math.abs() se utiliza para asegurarse de que el número de días sea positivo.
  • La función Date.prototype.getDate() se utiliza para obtener el día del mes de la fecha actual.
  • La función Date.prototype.setDate() se utiliza para actualizar la fecha en consecuencia.
  • La fecha resultante se devuelve como una cadena en el formato yyyy-mm-dd utilizando la función Date.prototype.toISOString().

Uso de ejemplo:

daysAgo(20); // "2020-09-16" (si la fecha actual es 2020-10-06)

Resumen

¡Felicitaciones! Has completado el laboratorio de Días atrás. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.