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

2votos

Sumarle años a una variable fecha con javascript

Hola a todos, alguien que me pueda ayudar con la siguiente duda, tengo un input que contiene una fecha, necesito que a dicha fecha se le sumen 3 años.

<input type="text" id="datepicker" class="form-control" onchange="cambiarEndDate()" />

la función es esta

function cambiarEndDate(){
    var inicio=document.getElementById("datepicker").value;
    var fin=document.getElementById("datepicker2").value;
}

Necesito que al pasar ese valor se le sumen 3 años y después aparezca la siguiente fecha en el siguiente input ("datepicker2"), desde ya muchas gracias!

2 Respuestas

2votos

rach Puntos6010

Hola a todos, finalmente lo intente de esta manera y pude resolver mi problema,
mi funcion quedo asi

function cambiarEndDate2(){

//FORMULARIO3

var inicio=document.getElementById("datepicker_3").value;
//var fin=document.getElementById("datepicker2").value;

var start=new Date(inicio);
start.setFullYear(start.getFullYear()+5);
var startf = start.toISOString().slice(0,10).replace(/-/g,"/");
document.getElementById("datepicker2_3").value= startf;
}

0voto

Peter comentado

Gracias por compartir la solución!

0voto

Leonardo-Tadei Puntos227320

Hola @rach,

el objeto date de JavaScript hace estas cosas:

var fecha = new Date();
fecha.setFullYear(fecha.getFullYear()+3);

lo únco que te resta hacer es crear el Date() con los datos que te vienen del INPUT. En este enlace está la sintaxis.

Saludos!

0voto

rach comentado

es justo lo que no entiendo como hacer, ya vi que de esa forma se puede :( pero voy a investigarlo y cuando encuentre la solución se las escribo, saludos!

2votos

Leonardo-Tadei comentado

Hola @rach,

suponiendo que en el INPUT en dónde se ingresa la fecha está en formato yyyy-mm-dd, se podría hacer así:

f = '2016-05-30'; // Acá la fecha leída del INPUT
vec = f.split('-'); // Parsea y pasa a un vector
var fecha = new Date(vec[0], vec[1], vec[2]); // crea el Date
fecha.setFullYear(fecha.getFullYear()+3); // Hace el cálculo
res = fecha.getFullYear()+'-'+fecha.getMonth()+'-'+fecha.getDate(); // carga el resultado

console.log(res);

Si el formato del INPUT es distinto, entonces los vectores para crear Date estarán en diferente posición. Si el separador es distinto de -, el split recibe el separador correspondiente.

Saludos!

0voto

rach comentado

hola @Leonardo-Tadei finalmente pude resolver mi problema, de la manera como lo escribí aqui, no intenté con tu solución, ayer mismo lo resolví y se me paso dejar mi solución, pero muchas gracias por tu ayuda

0voto

brian123 comentado

una ayuda amigo, por favor. hice el codigo que dijiste ahí y me funcionó a la perfeccion, pero ahora tengo una problema que no he sabido como resolver, necesito que a esa fecha que se le sumo los años restarle la fecha actual, por favor si tiene alguna idea estaría agradecido

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