Open NoeLuiz56 opened 1 week ago
// utilsDeData.js
function calcularIdade(dataNascimento) { const hoje = new Date(); // Obtém a data atual const nascimento = new Date(dataNascimento); // Converte a data de nascimento para um objeto Date
// Calcula a idade inicial com base no ano
let idade = hoje.getFullYear() - nascimento.getFullYear();
const diferencaMeses = hoje.getMonth() - nascimento.getMonth();
// Ajusta a idade se o aniversário ainda não ocorreu este ano
if (diferencaMeses < 0 || (diferencaMeses === 0 && hoje.getDate() < nascimento.getDate())) {
idade--; // Decrementa a idade se o aniversário ainda não ocorreu
}
return idade; // Retorna a idade calculada
}
module.exports = { calcularIdade };
// app.js
const { calcularIdade } = require('./utilsDeData'); const readline = require('readline');
// Configura a interface de leitura const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
// Função para obter a data de nascimento do usuário function obterDataNascimentoDoUsuario() { return new Promise((resolve) => { rl.question('Por favor, insira sua data de nascimento (YYYY-MM-DD): ', (dataNascimento) => { resolve(dataNascimento); }); }); }
// Função principal para calcular e exibir a idade async function main() { const dataNascimento = await obterDataNascimentoDoUsuario(); const idade = calcularIdade(dataNascimento); console.log(
A idade calculada é: ${idade} anos.
); rl.close(); // Fecha a interface de leitura }// Executa a função principal main();