[Startseite][Exzerpte][Übersicht]Wochentag berechnen

[Zuletzt bearbeitet am 10. Oktober 2008]

Baustelle: Berechnung des Wochentages

Dem Skript wird folgender Algorithmus zugrunde liegen:
T, M, J (J>1752) werden durch Datumseingabe festgelegt. Format: 10.2.2008.
K = integer(0,6 + 1/M)
L = J - K
O = M + 12*K
P = L/100
Z1 = integer (P/4)
Z2 = integer (P)
Z3 = integer (5*L/4)
Z4 = integer (13*(O + 1)/5)
Z = Z4 + Z3 - Z2 + Z1 + T - 1
Z = Z - 7*integer(Z/7) + 1
Z läuft von 1 bis 7 und steht für die Wochentage Sonntag bis Samstag. Da die Wochentage im Skript unter new Array hinterlegt sind, mithin von 0 an gezählt werden, muss die letzte Formel korrigiert werden: Z = Z - 7*integer(Z/7).

Der Algorithmus, entnommen einem BASIC-Buch von G.O. HAMANN, hat Tücken, weil er auch für einen 30. Februar einen Wochentag liefert.

Beispielrechnung

T=30, M=2, J=2008
K=int(.6+1/2) = int(.6+.5) = int(1.1) = 1
L=J-K=2008-1=2007
O=M+12*K = 2+12*1=14
P=L/100 = 2007/100=20.07
Z1 = int(P/4) = int(20/4)=5
Z2 = int(P) = 20
Z3 = int(5*L/4) = int(5*2007/4) = 2508
Z4 = int(13*(O+1)/5)= int(13*(14+1)/5) = int(13*3)=39
Z=Z4+Z3-Z2+Z1+T-1= 39 + x - 20 + 5 + 30 -1 = 74 - 21 + x = 53 + 2508 = 2561
Z=Z - 7*integer(Z/7) + 1= 2561 - 7*365 + 1 = 6 + 1 = 7

Skript

Das folgende Skript soll zu einem Datum den Wochentag berechnen.



Wochentag:
Probemeldung:
K:
L:
O:
P:
Z1: Z2: Z3: Z4:
Z:

Valid HTML 4.0 Transitional

CSS ist valide!


[nach oben] | [Startseite][Exzerpte][Übersicht]Wochentag berechnen | [Internetworx]