Ir ao conteúdo
  • Cadastre-se

Douglas Rodrigo de Oliveir

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Pessoal, tudo bem? Estou tentando criar uma calculadora que some dias corridos inclusive que pule os feriados a ser definidos e continue a contagem. Exemplo: Data inicial 1/8/2023 + 30 dias corridos incluindo o dia 14 e dia 15/8 o resultado tem que ser dia 4/9/2023. Ocorre um erro quando clico no botão calcular. <!DOCTYPE html> <html> <head> <title>Calculadora de Dias Corridos</title> </head> <body> <h1>Calculadora de Dias Corridos</h1> <label for="data-inicial">Data Inicial:</label> <input type="date" id="data-inicial"> <label for="quantidade-dias">Quantidade de Dias:</label> <input type="number" id="quantidade-dias"> <button onclick="calcularDataFinal()">Calcular</button> <h2>Resultado:</h2> <p id="resultado"></p> <script> function calcularDataFinal() { var dataInicialInput = document.getElementById('data-inicial'); var quantidadeDiasInput = document.getElementById('quantidade-dias'); var resultadoOutput = document.getElementById('resultado'); var dataInicial = new Date(dataInicialInput.value); var quantidadeDias = parseInt(quantidadeDiasInput.value); // Array de feriados (exemplo) var feriados = [ new Date(2023, 0, 1), // Ano Novo new Date(2023, 3, 21), // Feriado 1 new Date(2023, 4, 1), // Feriado 2 ]; var dataFinal = calcularData(dataInicial, quantidadeDias, feriados); resultadoOutput.textContent = 'Nova Data: ' + formatarData(dataFinal); } function calcularData(dataInicial, quantidadeDias, feriados) { var dataAtual = new Date(dataInicial.getTime()); var diasCorridos = 0; while (diasCorridos < quantidadeDias) { dataAtual.setDate(dataAtual.getDate() + 1); // Verificar se é um dia útil (segunda a sexta) e se não é um feriado if (dataAtual.getDay() >= 1 && dataAtual.getDay() <= 5 && !isFeriado(dataAtual, feriados)) { diasCorridos++; } } return dataAtual; } function isFeriado(data, feriados) { for (var i = 0; i < feriados.length; i++) { var feriado = feriados[i]; if ( data.getDate() === feriado.getDate() && data.getMonth() === feriado.getMonth() && data.getFullYear() === feriado.getFullYear() ) { return true; } } return false; } function formatarData(data) { var dia = String(data.getDate()).padStart(2, '0'); var mes = String(data.getMonth() + 1).padStart(2, '0'); var ano = String(data.getFullYear()); return dia + '/' + mes + '/' + ano; } </script> </body> </html>

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!