entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Restar la fecha actual

sume 5 años a una fecha, ahora necesito restarle la fecha actual y la respuesta me la de en dias. tengo esto:

function calcular(value){
    let fecha = (value);
    vec = fecha.split('-'); // Parsea y pasa a un vector
    var fecha1 = new Date(vec[0], vec[1], vec[2]); // crea el Date
    fecha1.setFullYear(fecha1.getFullYear()+5); // Hace el cálculo

    suma = fecha1.getFullYear()+'-'+fecha1.getMonth()+'-'+fecha1.getDate(); // carga el resultado
    alert("la fecha es " + suma);   
}

1 Respuesta

2votos

magarzon Puntos30630

Lo mejor para comparar o hacer operaciones, como añadir/restar tiempo a fechas en javascript (sin utilizar librerías tipo moment.js), es transformar a milisegundos y hacer las operaciones con esas transformaciones.

Añadido a tu código, sería así:

function calcular(value){
    let fecha = (value);
    vec = fecha.split('-'); // Parsea y pasa a un vector
    var fecha1 = new Date(vec[0], vec[1], vec[2]); // crea el Date
    fecha1.setFullYear(fecha1.getFullYear()+5); // Hace el cálculo

    suma = fecha1.getFullYear()+'-'+fecha1.getMonth()+'-'+fecha1.getDate(); // carga el resultado
    alert("la fecha es " + suma);   

    var hoy = new Date();
    var mil1 = hoy.getTime();
    var mil2 = fecha1.getTime();
    var dias = Math.round((mil2-mil1)/86400000);

    alert("Días: "+dias);
}

He redondeado días, para que no tengas algo como 20.3 días, pero si lo quieres así, quita el Math.round

0voto

brian123 comentado

Hermano, muchas gracias. Me ha funcionado tal cual!

0voto

Peter comentado

@brian123 por favor selecciona la respuesta como correcta.

Saludos.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta