Jo, det stämmer, fast året skrivs oxå ut.
Y är ju med i return-satsen, längst ner i funktionen.
När infaller påskdagen
28 svar · 1 116 visningar · startad av plelkes · sida 2 av 2
Frågan, av plelkes
Hej, har försökt mig på ett litet funktion som skall beräkna fram datumet som påskdagen infaller på. Följande kod har jag snickrat ihop <% Session.LCID = 1053 Dim strDate, dteDate, c, n, k, i, j, l, m, d strDate = Request.Form("year") dteDate = CDate(strDate) function ge(easterd) c = dteDate/100 n = dteDate - 19 (dteDate/19) k = (c - 17) / 25 i = c - (c/4) - (c - k )/3 + (19n)
Läs frågan i sin helhet →Ursäkta mig, naturligtvis gör det det.. Det är på ögat man blir blind först, ju
Två frågor till
-
jag har ändra i koden till
y=Request.Form("Year") c = y \ 100 n = y - 19 * (y \ 19) k = (c - 17) \ 25 i = c - c \ 4 - (c - k ) \ 3 + 19 * n + 15 i = i - 30 * ( i \ 30 ) i = i - ( i \28 ) * ( 1 - ( i \ 28 ) * ( 29 \ ( i + 1 )) * ((21 - n) \ 11)) j = y + y \ 4 + i + 2 - c + c \ 4 j = j - 7 * ( j \ 7 ) l = i - j m = 3 + ( l + 40 ) \ 44 d = l + 28 - 31 * ( m \ 4 ) easterd = y & "-" & entillnolla(m) & "-" & entillnolla(d) Response. Write "Påskdagen infaller: " & easterdoch dedt verka funka med. Vilka fördelar finns att ha som funktion?
-
behöver inte jag omvandla y till CDate? varför inte det? Om jag tänker använad mig av easterd i tex DateDiff(), skall jag då omvandla till CDate?
1. Fördelen med att ha Y som parameter, är att du kan använda den till att kolla påskdatumet på flera år. Ex
For i = 1995 To 2005
Response.Write easterd(i)
Next
2. Nej, i funktionen med jättemånga matematiska formler ska ju Y vara ett vanligt heltal.
3. I DateDiff räcker det med att datumet man skickar dit är av text-typ. T.ex. 2003-07-07
Ursäkta att jag är lite trög idag, men
Fördelen med att ha Y som parameter, är att du kan använda den till att kolla påskdatumet på flera år...
Betyder ovanstående citat att det är bättre att köra utan funktion, eller?
Själv försöker jag att göra så mycket som möjlig som funktioner. Då blir det enkelt att bara flytta över scriptet till andra sidor och använda det där också.
Nu blir jag totaltokig!
Samt besatt av plelkes attans kalender.
Varför fungerar inte skriptet i denna sida för mig?
Det fungerar om man kör det en gång, men ska man till att köra det fler gånger så suger det musten ur servern.
Varför!?!
Är man så J*K*A dum så att....
Ett tips! Håll rätt på era variabelnamn.
Det är mer än vad jag gjorde.
Det är viktigt att ha koll på hur man skall använda sina påskalgoritmer, den som förekommer i denna tråd kommer att sluta att fungera år 4100.
Det kan ju tyckas löjligt att oroa sig för något som ligger så långt bort i tiden, men var det inte så man tänkte inför y2k?
Nu är det ju inte så att allt bara har ett slut, det har en början oxå. Påsken började ju inte firas förrän efter Jesus död, så innan dess kan kan det inte vara.
Eftersom algoritmen i denna tråd (Oudin-algoritmen) baserar sig på den Gregorianska kalendern och inte den Julianska, som användes när Jesus dog, så infaller ju inte starten förrän vid införandet av denna (1582).
Fast så enkelt är det inte heller. Eftersom det var påven (Gregorius XIII) som beslöt om användandet av denna, mer korrekta, kalender, ville man inte använda den i dom protestantiska länderna. Det dröjde ända till 1922 innan det sista landet i Europa, Grekland, anpassade sig till den Gregorianska kalendern.
Man måste altså hålla koll på vilket land man anger påsken för när man räknar på den.
Men om vi håller oss till sverige, så kan man väl anta att vi (som vanligt) fogat oss till normer och standader på en gång...
Jo, tjena! År 1700 införde dom flesta protestantiska länderna, inkl. Norge och Danmark, den gregorianska kalendern. Men i sverige är vi smartare än så. Eftersom den nya kalendern innebar att man skulle stryka elva dagar, trodde vissa att man skulle förlora lika många dagar av sitt liv, så vi uppfinner en mjuk övergång.
Eftersom den nya kalendern sa att år 1700 inte är skottår, så strök man skottdagen och tänkte väl att det skulle jämna ut sig mot den Gregorianska kalendern om man höll på så fram till år 1740.
Det här glömde man väl av efter några år och 1704 och 1708 ansågs som skottår ändå.
Sveriges kalender ligger så vid den tiden en dag före den Julianska kalendern och tio dagar efter den Gregorianska, tills Karl XII kommer på att det är utympligt att ha en egen svensk kalender när man är ute i Europa och krigar. Han befaller att fom. år 1712 skall man återgå till den Julianska.
Följderna av detta blev att att februari 1712 kom att innehålla 30 dagar och året blev då 367 dagar långt (Hepp!).
Inte förrän 1753 införde vi den Gregorianska kalendern, men innan dess firade vi påsk i Sverige vid lite udda tillfällen:
- 1705, 1709 & 1711: Firas påsken en vecka efter den Julianska.
- 1740-1752: Firas påsken efter den faktiska månen och inte efter den kalendariska.
Och detta är bara sverige!
Således, den som gör den almängiltlig funktion som räknar ut påskdagens infallande från år 33 till år 4100, borde få Nobellpris. (Det räcker med att den gäller för kristna länder).
Lycka till!
Lysande historielektion, tack för den, Johnsen! :D

