Registriert seit: 10. Nov 2004
65 Beiträge
|
Re: Zellerscher Algotithmus
7. Jun 2005, 15:54
So, Problem gelöst!!!
Sollte mal jemand den gleichen Algorithmus brauchen, stelle ich ihn hiermit mal zur Verfügung:
Delphi-Quellcode:
procedure TFrmDatum.WochentagBestimmen(WochenTag : String);
var ergebnis, day, month, year, century: integer;
ausgabe : string;
begin
// Auslesen des Wochentages, des Monats, des Jahrhunderts und des Jahres
// aus dem vorgegebenem Datum
day := StrToInt(copy(WochenTag,1,2));
month := StrToInt(copy(WochenTag,4,2));
century := StrToInt(copy(WochenTag,7,2));
year := StrToInt(copy(WochenTag,9,2));
// Anpassung der Monate, da laut Zellerschem Algorithmus die Monate Januar und
// Februar zum Vorjahr gehören
if month < 3 then Dec(year);
month := Succ((month + 9) mod 12);
// Zellerscher Algorithmus
ergebnis := (day +((13*month-1) div 5) + year + (year div 4) + (century div 4)
-2*century) mod 7;
// Erhöhen des Ergebnisses um 7 Tage, wenn ergebnis negativ ist
if ergebnis < 0 then
Inc(ergebnis, 7);
// Belegung der Tage zu dem jeweiligen Ergebnis
case ergebnis of
0: ausgabe := ' Sonntag';
1: ausgabe := ' Montag';
2: ausgabe := ' Dienstag';
3: ausgabe := ' Mittwoch';
4: ausgabe := ' Donnerstag';
5: ausgabe := ' Freitag';
6: ausgabe := ' Samstag';
end;
ShowMessage(' Das Datum ' +WochenTag+ ' liegt auf einem ' + ausgabe);
end;
Viel Spaß damit , The Tremendous
|
|
Zitat
|