Pääsiäinen + PHP

23.9.2010 KLO 11:54
~1 min lukuaika

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;
}
?>

Myös nämä saattaisi kiinnostaa

Hiljaiseloa Internetissä

sunnuntaina 6.9.2009 klo 11:37
Ei Marko ei ole kuollut, eikä lopettanut www-puolen säätöä. Olen vain ollut koko kesän suhteellisen hyvin työllistetty. Osa pitkäaikaisista kävijöistä (onkohan niitä edes?) muistavat varmaan suhteellisen nopean sivuston päivitystahdin, joka on hidastunut huomattavasti viime aikoina. Tähän hidastumiseen löytyy suhteellisen hyvä selitys. Vaikka kesän aikana sivusto on pysynyt suhteellisen muuttumattomana, paria blogausta lukuunottamatta, niin ei Marko… Jatka lukemista Hiljaiseloa Internetissä

@Liikennetieto botti

lauantaina 7.7.2012 klo 10:06
Eilen innostuin koodailemaan ja testaamaan miten saisin tehtyä pätevän botin Twitteriin. Koska työkseni koodaan PHP:tä niin kielen valinta oli luonnollinen ja lähdin rakentamaan sillä bottia joka parsii liikennedataa. Selitän tuon @Liikennetieto botin toimintaa seuraavaksi ja kerron hieman miten se tekee sen ja mitä ominaisuuksia siinä käytännössä on. Joka viides minuutti skripti tarkastaan onko tullut uusia… Jatka lukemista @Liikennetieto botti

Ohjelmointikielten eroja

perjantaina 6.7.2012 klo 13:41

Tapaaminen.net uudistui

tiistaina 18.7.2017 klo 18:44
Oma projektini Tapaaminen.net sai uutta väriä pintaan. Uudistuipa se käytännössä kokonaan myös koodiltaankin. Tapaaminen.net on nyt avointa lähdekoodia.

Keskustelu

Tämä artikkeli on tuotu vanhasta blogista ja niiden artikkelien kommentointi on uudistettu. Vanhaan artikkeliin voi kommentoida vain blogin kautta, kun taas uudemmissa näytetään myös Mastodonin kautta tulleet kommentit.

Kommentoi

Voit kommentoida artikkelia alla olevan lomakkeen avulla. Roskapostin välttämiseksi kysymme sähköpostin, mutta emme julkaise sitä. Tekstikenttä ottaa vastaan vain tekstiä ja kaikki muu siivotaan pois.

Toni Lahnalampi
12 vuotta sitten
Hei, Porttasin funktion javascriptille ja tuntuu toimivan hienosti. http://www.anvianet.fi/tola/juhlapaivat/
Marko
12 vuotta sitten
Moikka! Hienoa, että toimi ja hieno toteutus!
Mastodon
Pixelfed
GitHub
RSS
3
0
7
3
0