xatic Skrevet 26. november 2012 Del Skrevet 26. november 2012 Hei, Jeg jobber med å utvikle en kalender i PHP. Problemet er at jeg gjerne ønsker å oppgi "røde" dager. Men, som vi alle vet, endrer noen av disse dagene seg, f.eks påske.. Hvordan kan jeg regne ut når påsken inntreffer? finnes det noen ferdig-lagde matte stykker for dette, eller hvordan vil jeg gå fram for å finne røde dager i Norge? Lenke til kommentar
moby_duck Skrevet 26. november 2012 Del Skrevet 26. november 2012 Påskesøndag er første søndag etter første fullmåne etter vårjevndøgn. Pinse er 50 dager etter påskeaften. Kristi Himmelfartsdag er 6. torsdag etter skjærtorsdag (den måtte jeg konsultere Google for å få svar på). Jul, 1. mai og 17. mai klarer du vel selv? Tror det var alle helligdagene. Lenke til kommentar
xatic Skrevet 26. november 2012 Forfatter Del Skrevet 26. november 2012 Jo, dette var jeg klar over For å omformulere meg litt, hvordan regner jeg da ut når påsken inntreffer? Hvordan vil regnestykket se ut? klarer ikke helt å skjønne hvordan jeg skal finne ut når det er fullmåne etc Lenke til kommentar
moby_duck Skrevet 26. november 2012 Del Skrevet 26. november 2012 Kan denne være til hjelp? http://en.wikipedia.org/wiki/Synodic_month#Synodic_month Because of perturbations in the orbits of the Earth and Moon, the actual time between lunations may range from about 29.18 to about 29.93 days. The long-term average duration is 29.530589 days (29 d 12 h 44 min 2.9 s). Lenke til kommentar
Tom_ Skrevet 26. november 2012 Del Skrevet 26. november 2012 Det finnes jo mange påske funksjoner i php. F.eks: http://php.net/manual/en/function.easter-days.php 2 Lenke til kommentar
xatic Skrevet 26. november 2012 Forfatter Del Skrevet 26. november 2012 Dette gjorde alt mye lettere ja! tusen takk Lenke til kommentar
TheClown Skrevet 26. november 2012 Del Skrevet 26. november 2012 Å finne ut når påsken skjer er faktisk en lengre regneoprasjon og har faktisk blitt gitt som eksamensoppgave på universiteter flere ganger. Så om det finnes noe innebygget ville jeg bare gått for denne. Lenke til kommentar
xatic Skrevet 27. november 2012 Forfatter Del Skrevet 27. november 2012 Endte opp med å gjøre det slik, vet ikke om det blir helt korrekt? <?php function norwegian_red_days($year) { // Easter days $easter_days = easter_days($year); // Dato første påskedag $easter_first_day = 21 + $easter_days; $date = 21 . "-" . 3 . "-" . $year; // Første påske dag $easter_date = date('d-m-Y', strtotime($date. "+{$easter_days} days")); $red_days = array(); $red_days[] = "1/01/" . $year; $red_days[] = "17/05/" . $year; $red_days[] = str_replace('-','/',date('d-m-Y', strtotime($easter_date . "- 3 days"))); $red_days[] = str_replace('-','/',date('d-m-Y', strtotime($easter_date . "- 2 days"))); $red_days[] = str_replace('-','/',$easter_date); $red_days[] = str_replace('-','/',date('d-m-Y', strtotime($easter_date . "+ 1 days"))); $red_days[] = str_replace('-','/',date('d-m-Y', strtotime($easter_date . "+ 39 days"))); $red_days[] = str_replace('-','/',date('d-m-Y', strtotime($easter_date . "+ 49 days"))); $red_days[] = str_replace('-','/',date('d-m-Y', strtotime($easter_date . "+ 50 days"))); $red_days[] = "25/12/" . $year; $red_days[] = "26/12/" . $year; return $red_days; } echo "<pre>"; print_r(norwegian_red_days(2016)); echo "</pre>"; Lenke til kommentar
Crowly Skrevet 27. november 2012 Del Skrevet 27. november 2012 (endret) Du kan forenkle koden mye, all str_replace() kan droppes, pluss litt til function norwegian_red_days($year) { // Første påske dag $easter_timestamp=strtotime('+' . easter_days($year) . ' days',mktime(0,0,0,3,21,$year)); $red_days = array(); $red_days[] = "1/01/" . $year; $red_days[] = "17/05/" . $year; $red_days[] = "25/12/" . $year; $red_days[] = "26/12/" . $year; // påske + kristi himmelfart + pinse foreach (array(-3,-2,0,1,39,49,50) as $d) $red_days[]=date('d/m/Y',strtotime("{$d} days",$easter_timestamp)); return $red_days; } Endret 27. november 2012 av Crowly Lenke til kommentar
xatic Skrevet 28. november 2012 Forfatter Del Skrevet 28. november 2012 Takk for det Crowly, har allerede forenklet den, men liker at koden også er enkel og lesbar, for mye foreach blandet med strtotime osv syntes jeg personlig blir litt rotete, men takk for kode snutten Lenke til kommentar
Wiikend Skrevet 17. august 2023 Del Skrevet 17. august 2023 Tom_ skrev (På 26.11.2012 den 18.46): Det finnes jo mange påske funksjoner i php. F.eks: http://php.net/manual/en/function.easter-days.php Takker for denne, sparte meg for masse tid idag! Lenke til kommentar
ps5 Skrevet 17. august 2023 Del Skrevet 17. august 2023 Sorry, klarer ikke la være når tråden vekkes etter 11 år 2 2 Lenke til kommentar
quantum Skrevet 18. august 2023 Del Skrevet 18. august 2023 (endret) Det er jo flere røde dager enn påske. Kanskje php har noe tilsvarende Jollyday eller Strata? Endret 18. august 2023 av quantum Lenke til kommentar
Crowly Skrevet 18. august 2023 Del Skrevet 18. august 2023 Alle bevegelige helligdager beregnes ut i fra påske. Resten er faste datoer. 1 Lenke til kommentar
Dan-Levi Skrevet 11. oktober 2023 Del Skrevet 11. oktober 2023 ps5 skrev (På 17.8.2023 den 4:15 PM): Sorry, klarer ikke la være når tråden vekkes etter 11 år Have you heard of Laravel? 😄😄😄 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå