Olá tudo se poderem ajudar o meu código está no meu repositório github https://github.com/GotoXY-dev/javascript-crud
Olá tudo se poderem ajudar o meu código está no meu repositório github https://github.com/GotoXY-dev/javascript-crud
Oi Vinicius!
Uma das formas de comparar duas datas é calcular a diferença delas em milissegundos. Então no seu caso é preciso pegar essa informação do input e da data atual.
Depois, basta fazer a subtração da data atual pela data do input (data de nascimento) e por último converter milissegundos para anos.
O seu método idade
ficaria mais ou menos assim:
idade(usuario){
var birth_date = new Date(document.getElementById("date").value);
var today = Date.now(); // pega o dia de hoje em ms
// calculando a diferença em milissegundos entre agora e o dia do nascimento
const diff = Math.abs(today - birth_date.getTime());
// 1 segundo = 1000 ms
// 1 minuto = 60 s
// 1 hora = 60 min
// 1 dia = 24 h
// 1 ano = 365 d
// diff (ms) 1 s 1 min 1 h 1 d 1 ano
// * -------- * -------- * -------- * ----- * -------
// 1000 ms 60 s 60 min 24 h 365 d
// calculando a diferença em anos
const diffInYears = Math.floor(diff / (1000 * 60 * 60 * 24 * 365));
document.getElementById("date").innerHTML = output_value;
}
O Math.floor
arredonda pra baixo o valor caso ele tenha casas decimais.
Espero ter ajudado!