Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#4

Re: Start- und Enddatum einer Kalenderwoche ermitteln

  Alt 15. Dez 2003, 15:44
Weil Weihnachten naht () ,als Ansatz hier ein bisserl source von mir, den Rest (Umkehrung von GetKalenderwoche) mußt Du Dir dann selbst basteln
Delphi-Quellcode:
function VierterJanuar(DasDatum : TDate):TDate;
begin
  Result := StrToDate('04.01.'+copy(DateToStr(DasDatum),7,MaxInt));
end;

function MyDayOfWeek(DasDatum: TDateTime):Integer;
begin
  Result := IntIf((DayOfWeek(DasDatum)-1 > 0),DayOfWeek(DasDatum)-1,7);
end;

function GetKalenderWoche(DasDatum:TDateTime): Integer;
var ErsterMontag : TDate;
begin
  ErsterMontag := VierterJanuar(DasDatum)-MyDayOfWeek(VierterJanuar(DasDatum))+1;
  if DasDatum < ErsterMontag
    then ErsterMontag := VierterJanuar(DasDatum-10)-MyDayOfWeek(VierterJanuar(DasDatum-10))+1;
  Result := (trunc(DasDatum-ErsterMontag) div 7)+1;
  if Result = 53 then begin
    if (DasDatum-MyDayOfWeek(DasDatum)+1) = (VierterJanuar(GetLastDay(DasDatum)+1)-MyDayOfWeek(VierterJanuar(GetLastDay(DasDatum)+1))+1)
    then Result := 1;
  end;
end;
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat