Einzelnen Beitrag anzeigen

Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#1

Kalenderwochen Funktion Falsch?

  Alt 5. Dez 2007, 12:48
Hallo zusammen,

ich benutze hier aus der Code-Lib folgende Funktion:

Hier zeigt Alex_ITA01 wie es möglich ist, anhand eines Datums die zugehörige Kalenderwoche zu ermitteln. Für Delphi 6 und höher, geht dies genau so gut mit WeekOfTheYear (Unit: DateUtils), doch für die Benutzer älterer Delphi-Versionen ist dies mit folgendem Code möglich:

Delphi-Quellcode:
function GetKW(Date: TDateTime): Integer;
var
   Day: Integer;
   Y, M, D: Word;
begin
  Day := DayOfWeek(Date) - 1;
  if (Day <= 0) then
    Day := 7;
  DecodeDate(Date + 4 - Day, Y, M, D);

  result := round(((Date + 8 - Day) - EncodeDate(Y, 1, 1)) / 7);
end;
Wenn ich aber diese verwende, wird mir die Kalenderwoche für den 10.01.2008 falsch berechnet?!
@Edit: Bekomme als Ergebnis '1', sollte aber 2 ausspucken...

Hat jemand eine Idee warum das so ist?

Ich habe die WeekOfTheYear Funktion nicht zur Verfügung!

Danke
  Mit Zitat antworten Zitat