D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
crsys_ant
/
Filename :
carnaval.php
back
Copy
<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Calculadora de Datas Móveis</title> <style> body { font-family: Arial, sans-serif; margin: 20px; } label, input, button { font-size: 1rem; } #resultado { margin-top: 20px; font-weight: bold; } #resultado p { margin: 5px 0; } </style> </head> <body> <h2>Calculadora de Datas Móveis (Páscoa, Carnaval, Sexta-feira Santa e Corpus Christi)</h2> <form id="formAno"> <label for="ano">Digite o ano:</label> <input type="number" id="ano" name="ano" min="1583" max="9999" required /> <button type="submit">Calcular</button> </form> <div id="resultado"> <!-- Aqui as datas aparecerão --> </div> <script> // Calcula a data da Páscoa pelo algoritmo de Butcher function calculaPascoa(ano) { const a = ano % 19; const b = Math.floor(ano / 100); const c = ano % 100; const d = Math.floor(b / 4); const e = b % 4; const f = Math.floor((b + 8) / 25); const g = Math.floor((b - f + 1) / 3); const h = (19 * a + b - d - g + 15) % 30; const i = Math.floor(c / 4); const k = c % 4; const l = (32 + 2 * e + 2 * i - h - k) % 7; const m = Math.floor((a + 11 * h + 22 * l) / 451); const mes = Math.floor((h + l - 7 * m + 114) / 31); const dia = ((h + l - 7 * m + 114) % 31) + 1; return new Date(ano, mes - 1, dia); } // Formata a data para dd/mm/yyyy function formataData(d) { const dia = d.getDate().toString().padStart(2, '0'); const mes = (d.getMonth() + 1).toString().padStart(2, '0'); const ano = d.getFullYear(); return `${dia}/${mes}/${ano}`; } // Calcula o Carnaval (47 dias antes da Páscoa) function calculaCarnaval(ano) { const pascoa = calculaPascoa(ano); const carnaval = new Date(pascoa.getTime()); carnaval.setDate(pascoa.getDate() - 47); return carnaval; } // Calcula a Sexta-feira Santa (2 dias antes da Páscoa) function calculaSextaFeiraSanta(ano) { const pascoa = calculaPascoa(ano); const sextaSanta = new Date(pascoa.getTime()); sextaSanta.setDate(pascoa.getDate() - 2); return sextaSanta; } // Calcula Corpus Christi (60 dias após a Páscoa) function calculaCorpusChristi(ano) { const pascoa = calculaPascoa(ano); const corpus = new Date(pascoa.getTime()); corpus.setDate(pascoa.getDate() + 60); return corpus; } document.getElementById('formAno').addEventListener('submit', function(event) { event.preventDefault(); const ano = parseInt(document.getElementById('ano').value, 10); if (isNaN(ano) || ano < 1583) { document.getElementById('resultado').innerHTML = '<p>Por favor, insira um ano válido (>= 1583).</p>'; return; } const pascoa = calculaPascoa(ano); const carnaval = calculaCarnaval(ano); const sextaSanta = calculaSextaFeiraSanta(ano); const corpus = calculaCorpusChristi(ano); document.getElementById('resultado').innerHTML = ` <p><strong>Ano:</strong> ${ano}</p> <p><strong>Data da Páscoa:</strong> ${formataData(pascoa)}</p> <p><strong>Data do Carnaval:</strong> ${formataData(carnaval)}</p> <p><strong>Sexta-feira Santa:</strong> ${formataData(sextaSanta)}</p> <p><strong>Corpus Christi:</strong> ${formataData(corpus)}</p> `; }); </script> </body> </html>