Datums vastenavend
datums vastenavond
Nieuwe pagina 2
Datums vastenavend
datums vastenavond
Nieuwe pagina 2
Datums vastenavend
datums vastenavond
Nieuwe pagina 2
Datums vastenavend
datums vastenavond
Nieuwe pagina 2
Datums vastenavend
datums vastenavond
Nieuwe pagina 2
Datums vastenavond
datums vastenavond
Nieuwe pagina 2
Datums vastenavond
datums vastenavond
Nieuwe pagina 2
Datums vastenavond
|
|
VUL HIERONDER HET JAARTAL
IN....... |
|
KLIK OP
"Reken datum uit " |
|
DE VASTENAVOND VOOR DAT
JAAR KOMT ERUIT! |
|
De
datum van het vastenavond is niet elk jaar hetzelfde.
Dit heeft te maken
met de stand van de maan en zon. U kunt hier alvast de datum uitrekenen van ieder jaar tussen 1900 en
2100.
|
| KAN JE METEEN
SNIPPERDAGEN AANVRAGEN !!! |
|
|
datums vastenavond
Nieuwe pagina 2
<div class="vastenavend-calculator">
<h3>Bereken Vastenavend</h3>
<p>
<label><strong>Jaar:</strong></label>
<input type="number" id="year" min="1900" max="2200" />
<button type="button" onclick="calcCarnival()">Reken datum uit</button>
</p>
<p>
<label><strong>Neuzebal:</strong></label>
<input type="text" id="neuzebal" readonly>
</p>
<p>
<label><strong>Vastenavend:</strong></label>
<input type="text" id="result" readonly>
</p>
<p>
<label><strong>Aswoensdag:</strong></label>
<input type="text" id="aswoensdag" readonly>
</p>
</div>
<script>
function daysOfFebruary(year) {
return ((year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0)) ? 29 : 28;
}
function calcCarnival() {
const year = parseInt(document.getElementById('year').value);
if (isNaN(year) || year < 1900 || year > 2200) {
alert('Geen geldig jaartal. Geef een datum tussen 1900 en 2200.');
return;
}
let a = year % 19;
let b = year % 4;
let c = year % 7;
const M = 24;
const N = 5;
let d = (19 * a + M) % 30;
let e = (2 * b + 4 * c + 6 * d + N) % 7;
let easterMonth, easterDay;
if ((22 + d + e) <= 31) {
easterMonth = 3;
easterDay = 22 + d + e;
} else {
easterMonth = 4;
easterDay = d + e - 9;
}
let todo = 47;
let endMonth = easterMonth;
todo -= (easterDay - 1);
let endDay;
if (endMonth === 4) {
if (todo > 31) {
endDay = (32 + daysOfFebruary(year)) - todo;
endMonth -= 2;
} else {
endDay = 32 - todo;
endMonth -= 1;
}
} else {
endDay = (daysOfFebruary(year) + 1) - todo;
endMonth -= 1;
}
let beginMonth = endMonth;
let beginDay = endDay - 3;
if (beginDay < 1) {
beginMonth--;
beginDay = daysOfFebruary(year) - beginDay;
}
const neuzebalDate = new Date(year, beginMonth - 1, beginDay);
neuzebalDate.setDate(neuzebalDate.getDate() - 21);
document.getElementById('neuzebal').value =
neuzebalDate.getDate() + '-' +
(neuzebalDate.getMonth() + 1) + '-' +
year;
document.getElementById('result').value =
beginDay + '-' + beginMonth + '-' + year +
' t/m ' +
endDay + '-' + endMonth + '-' + year;
let aswoensdagDay = endDay + 1;
let aswoensdagMonth = endMonth;
let daysInMonth;
if (aswoensdagMonth === 2) {
daysInMonth = daysOfFebruary(year);
} else if ([4, 6, 9, 11].includes(aswoensdagMonth)) {
daysInMonth = 30;
} else {
daysInMonth = 31;
}
if (aswoensdagDay > daysInMonth) {
aswoensdagDay = 1;
aswoensdagMonth++;
}
document.getElementById('aswoensdag').value =
aswoensdagDay + '-' +
aswoensdagMonth + '-' +
year;
}
</script>
<style>
.vastenavend-calculator {
max-width: 500px;
margin: 20px auto;
padding: 20px;
border: 1px solid #ddd;
border-radius: 8px;
}
.vastenavend-calculator input {
padding: 6px;
margin-left: 10px;
width: 180px;
}
.vastenavend-calculator button {
padding: 8px 12px;
cursor: pointer;
}
</style>