Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Kalenderwoche Frankreich / Deutschland?

  Alt 29. Aug 2008, 14:51
Hier einmal die Funktion WeekOfYear:
Delphi-Quellcode:
 function WeekOfYear(D : TDateTime) : Byte;
  var
    aDate : Integer;
    MinDate : tDateTime;
    MaxDate : tDateTime;
    Day, Month, Year : Word;
    FirstDate : Integer;
  begin
    aDate := Trunc(D);
    MinDate := EncodeDate(1900, 1, 1);
    MaxDate := EncodeDate(3999, 12, 31);
    if (aDate < MinDate) or (aDate > MaxDate) then begin
      Result := 0;
      exit;
    end;

    aDate := aDate + 3 - ((5 + DayOfWeek(aDate)) MOD 7);
    DecodeDate(aDate, Year, Month, Day);
    FirstDate := Trunc(EncodeDate(Year, 1, 1));

    Result := 1 + (aDate - FirstDate) DIV 7;
  end;
Jetzt würde ich zum übergebenen Datum einfach noch 2 Tage dazuzählen (wir tun also so, als ob der Samstag ein Monatg ist) und dann die resultierende Kalenderwoche nehmen.

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat