Saltar al contenido

Fecha de hoy -30 días en JavaScript

Hacemos una revisión profunda cada enunciados en nuestro sitio web con el objetivo de enseñarte en todo momento información certera y actual.

Solución:

setDate() no devuelve un Date objeto, devuelve el número de milisegundos desde el 1 de enero de 1970 00:00:00 UTC. Necesita llamadas separadas:

var date = new Date();
date.setDate(date.getDate() - 30);
var dateString = date.toISOString().split('T')[0]; // "2016-06-08"

Tenga en cuenta que sería mejor usar algo como moment.js para esto en lugar de reinventar la rueda. Sin embargo, una solución JS directa sin bibliotecas es algo así como:

var date = new Date();
date.setDate(date.getDate() - 30); 

conjuntos date a hace 30 días. (JS contabiliza automáticamente los años bisiestos y los meses de menos de 30 días y el año anterior)

ahora solo envíelo como desee (le da más control sobre la salida). Tenga en cuenta que estamos anteponiendo un ‘0’ para que los números menores de 10 tengan el prefijo 0

var dateString = date.getFullYear() + '-' + ("0" + (date.getMonth() + 1)).slice(-2) + '-' + ("0" + date.getDate()).slice(-2)

Estás diciendo que esas dos líneas te funcionaron y tu problema es combinarlas. Así es como lo haces:

var date = new Date();
date.setDate(date.getDate() - 30);
document.getElementById("result").innerHTML = date.toISOString().split('T')[0];

Si realmente desea restar exactamente 30 días, entonces este código está bien, pero si desea restar un mes, obviamente este código no funciona y es mejor usar una biblioteca como moment.js como otros han sugerido que intentar para implementarlo por ti mismo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *