Thema: Delphi Kalenderwoche ermitteln

Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

Kalenderwoche ermitteln

  Alt 9. Feb 2007, 20:58
negaH zeigt, wie es möglich ist, anhand eines Datums die zugehörige Kalenderwoche zu ermitteln. Für Delphi 6 und höher geht dies genauso gut mit Delphi-Referenz durchsuchenWeekOfTheYear (Unit: DateUtils), doch für die Benutzer älterer Delphi-Versionen ist dies mit folgendem Code möglich:

Delphi-Quellcode:
function DayOfWeekGerman(ADate: TDateTime): Integer;
begin
  Result := DayOfWeek(ADate) -1;
  if Result <= 0 then Result := 7;
end;

function WeekOfDate(A: TDateTime): Integer;
var
  Day: Integer;
  Y,M,D: Word;
begin
  Day := DayOfWeekGerman(A);
  DecodeDate(A +4 -Day, Y, M, D);
  Result := Round(((A +8 -Day) - EncodeDate(Y, 1, 1)) / 7);
end;
Ein möglicher Aufruf:

ShowMessage('Aktuelle Kalenderwoche: ' + IntToStr(WeekOfDate(Now)); [edit=Daniel G]Code aktualisiert[/edit]
  Mit Zitat antworten Zitat