17. juni 2003 - 22:14Der er
7 kommentarer og 1 løsning
Dansk kalender med helligdage
Er der nogen som ved hvor jeg kan finde en dansk-kalender, en opensource ting, som kender de danske helligdage og i den stil. Jeg har styr på hvilke mulighed man har med api'et, Calender og Date.... Jeg ville bare ikke til at opfinde den dybetalerken, hvis den allerede er lavet.
Hvis der er nogen som kender til flere må det meget gerne være en udgave hvor data for special datoerne ligger som xml eller i en anden form for file, og helt ikke i en db. En db udgave har dog stadig interresse, for jeg skal bruge en version.
Det er jo i grunden interessant. Disse bliver jo ikke bestemt på slump fra år til år, men bliver bestemt efter et fastlagt mønster. Det må være muligt at fremstille en - efter rimelighedernes grænse - simplistisk algoritme til formålet. Til eksempel kan Jens Olsens urværk jo vise disse datoer og her er tale om et mekanisk værk. Problemet er selvfølgelig at jeg ikke personligt kender denne algoritme. Mon ikke du kan rette henvendelse til kirkeministeriet. De må ligge inde med sådanne informationer. Beklager ikke at kunne være til mere hjælp.
Jeg har fundet et regneark som kan finde alverdens mærkedag på kirkeministriets hjemmeside.
Jeg er udemærket klar over at det er ren matematik hvornår de enkelte helligdage findes. Men det kunne jo være at det var en eller anden der lige havde kode den.
Tak for opmærksomhed. jeg lade spørgsmålet stå åbent, men går selv i gang med en løsning.
Glad for at være i hvert fald til et minimum af assistance. Problemet er jo at enkelte helligdage så som Store Bededag kun findes i Danmark. Det er derfor svært at finde noget bedre end det du har nu. Nuvel et regneark med alle formlerne nedsætter jo også arbejdsbyrden ret væsentligt.
Jeg har fundet en løsning. Man beregner påskedag, og så finder man de andre helligdage udfra den. Jeg skal bruge kalenderen i forbindelse med et arbejdsplanssystem så der bliver halve helligdage, men det har jeg ikke lavet endnu. påskedag beregnes på følgende måde.
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p; a = year % 19; //rest b = year / 100; c = year % 100; //rest d = b / 4; e = b % 4; //rest f = (b+8) / 25; g = (b - f + 1) / 3; h = (19 * a + b - d - g + 15) % 30; //rest i = c / 4; k = c % 4; //rest l = (32 + (2 * e) + (2 * i) - h - k) % 7; // rest m = (a + (11 * h) + (22 * l)) / 451; n = ((h + l) - (7 * m) +114) / 31; p = ((h + l) - (7 * m) +114) % 31; //rest
Måneden er n, og p+1, er dato, og det hele regnes udfra året. Det er så noget med at det er kun fra år 1700+ at det virker, for det er der det blev bestem at påskedag falder som den gør, bla bla....
Hvis du vil have point maddog, så læg lige et svar, ellers lukker jeg den mandag.
ok så pyt. kalendere er noget sjovt noget. England var det sidste land der gik over til den gregorianske kalender. De gjorde det så sent at der forsvandt 23 dage. Det kan man da kalde at stille uret frem.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.