Einzelnen Beitrag anzeigen

Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#1

Buss - BetTag richtig berechnen

  Alt 26. Jan 2006, 11:10
Mahlzeit ...,

beim Neu/Umcoden eines älteren Programms von mir stehe ich vor einem Rätsel!
Bisher hatte ich den den Buss und Bettag wie folgt berechnet:

Delphi-Quellcode:
Function GetBBetTag(Jahr: Word): TDate; //Buß-und Bettag
var Datum: TDate;
begin
  Datum:= EncodeDate(Jahr, 11, 1);
  Result:= Datum + ((11 - DayOfWeek(Datum)) mod 7) + 14;
end;
Habe aber vorhin mit erstaunen festgestellt das meine Function falsch rechnet! Dachte mir kein Problem, habe hier im Forum gesucht und leider feststellen müssen das alle Routinen die ich gefunden habe ebenso falsch liegen. Gegoogelt und ebenso Fehlanzeige ...

Jetzt habe ich meine Function umgestellt, bin mir aber net sicher ob ich das so korrekt ist - richtig rechnen tut sie zumindest ...

Delphi-Quellcode:
Function GetBBetTag(Jahr: Word): TDate; //Buß-und Bettag
var Datum: TDate;
begin
  Datum:= EncodeDate(Jahr, 11, 1);
  Result:= Datum + ((11 - DayOfWeek(Datum)) mod 7) + 14;
  if DayOfWeek(Datum) = 4 then
    Result:= Result + 7;
end;
Vielleicht kennt jemand von Euch einen bessere Berechnung oder kann andere Vorschläge machen.

Danke und Gruss Mario
Mario
  Mit Zitat antworten Zitat