Pääsiäinen + PHP

Tuli eteen työn merkeissä selvittää pääsiäinen. Noh laiskahan olisi tehnyt huonon ohjelmointitavan mukaisesti taulukon, jossa olisi ollut vaikka kymmeneksi vuodeksi eteenpäin pääsiäiset. Itse päädyin tutkimaan miten sen voi määrittää ja miten se määräytyy. Löysinkin artikkelin Wikipediasta, jossa oli ohje pääsiäisen laskemiseen. Ajattelin helpottaa muita vastaavassa tilanteessa olevia ja julkaista pienen PHP pätkän, joka laskee pääsiäisen.

Funkkari ottaa arvoksi vuoden eli esimerkiksi 2010 ja tämän jälkeen palauttaa päivämäärän muodossa pp.kk.vvvv. Vuonna 2010 pääsiäinen oli 4. huhtikuuta. Kommentoikaa ja kertokaa jos koodissa on joku bugi tai härö.

<?php
function paasiainen($vuosi){
	$a = $vuosi % 19;
	$b = (int)($vuosi / 100);
	$c = $vuosi % 100;
	$d = (int)($b / 4);
	$e = $b % 4;
	$f = (int)(($b + 8) / 25);
	$g = (int)(($b - $f + 1) / 3);
	$h = (19 * $a + $b - $d - $g + 15) % 30;
	$i = (int)($c / 4);
	$k = $c % 4;
	$l = (32 + 2 * $e + 2 * $i - $h - $k) % 7;
	$m = (int)(($a + 11 * $h + 22 * $l) / 451);
	$n = (int)(($h + $l - 7 * $m + 114) / 31);
	$p = ($h + $l - 7 * $m + 114) % 31;

	$kuuk = $n;
	$paiv = $p + 1;
	$paasiainen = "$paiv.$kuuk.$vuosi";
	return $paasiainen;
}
?>

Julkaissut Marko Kaartinen

Nörtti Kuopiosta. Puuhastelee verkkosivujen kanssa työkseen ja vapaa-ajallaan.

Ota osaa keskusteluun

2 kommenttia

Kommentoi

Kommentoi