puedes utilizar la opcion 1 o opcion 2 para hacer tus pruebas y entender un poco de lo que esta pasando, buen dia.
//const inputNacimiento = document.querySelector("#birth");
//inputNacimiento.addEventListener("blur", (evento) => {
// validarNacimiento(evento.target);
//});
//function validarNacimiento(input) {
//const fechaCliente = input.value;
//console.log(fechaCliente)
// const fechaCliente = new Date(input.value);
//console.log(fechaCliente);
//mayorDeEdad(fechaCliente);
//let mensaje = "";
/*codigo del instructor opcion1*/
if (!mayorDeEdad(fechaCliente)) {
mensaje = "debes de tener al menos 18 años";
}
/*codigo mio opcion 2*/
if(mayorDeEdad(fechaCliente) == false){
mensaje = "debes de tener al menos 18 años";
}
//console.log(mayorDeEdad(fechaCliente));
// input.setCustomValidity(mensaje);
//}
//function mayorDeEdad(fecha) {
//const fechaActual = new Date();
//console.log(fecha,"****",fechaActual)
//const diferenciaFechas = new Date(
// fecha.getUTCFullYear() + 18, //este metodo devuelve el año en la fecha especificada en tiempo universal.
// fecha.getMonth(), //devuelve el mes del objeto Date según la hora local, donde el número cero indica el primer mes del año.
// fecha.getDate() //devuelve el día del mes para la fecha especificada de acuerdo con la hora local.
// );
return diferenciaFechas <= fechaActual; //si es menor de edad va retornar false, si es mayor de edad retornara true
//}