Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

No coinciden fechas

Buenas tardes,

En este código,

//Para acceder al imput de fecha de nacimiento accedo por su id.
const inputNacimiento = document.querySelector("#birth");

//Le agrego un Listener para agregar la función que se tiene que realizar cuando reciba el blur. 
inputNacimiento.addEventListener("blur", (evento) => {
    validarNacimiento(evento.target);
});

function validarNacimiento(input) {
    const fechaCliente = new Date(input.value);
    mayorDeEdad(fechaCliente);
}

function mayorDeEdad(fecha) {
    const fechaActual = new Date();
    console.log(fecha, " ", fechaActual);

}

primero, no entiendo por qué toma en la última línea console.log(fecha, " ", fechaActual); ¿por qué es solo fecha y no fechaCliente? Que es la variable en la que se encuentra el value del input.

segundo, cuando coloco la fecha en la web, en la consola me aparece un día antes del que coloco, sin embargo, la fecha actual es correcta. por ejemplo, coloco 13/01/1994 y en consola aparece: Wed Jan 12 1994 21:00:00 GMT-0300 (hora estándar de Argentina) ' ' Tue Dec 27 2022 14:57:39 GMT-0300 (hora estándar de Argentina)

Gracias, aguardo.

2 respuestas

Ah, en el caso de "fechas", creo que entiendo. Es porque la función mayorDeEdad utiliza el parámetro fecha para hacer referencia a la fecha que se ingrese cuando se llame a la función => mayorDeEdad(fechaCliente) = mayorDeEdad(fecha)

Con respecto al primer punto, cuando tu le envías un parámetro a una función y esta la recibe, al momento de recibirla la puedes llamar como quieras. Por obvias razones se le asigna un nombre que tenga sentido o que sea fácil de entender lo que se esta recibiendo.

Y con respecto al punto 2, te dejo este enlace https://es.stackoverflow.com/questions/219147/new-date-en-javascript-me-resta-un-dia