Thema: Delphi Datum letzter Samstag?

Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#16

AW: Datum letzter Samstag?

  Alt 23. Jul 2014, 16:05
Jupp, drumm hatte ich auch beide Funktionen erwähnt und verlinkt.

Wennde die noch für 64-bit schreibst, dann bekommste auch nen Fleißbienchen in dein Aufgabenheft:
ARM (iOS, Android), Mac und Linux nicht vergessen.
Das wär die Bonusaufgabe für Streber gewesen

P.S. Die Lösung von Uwe in ne Methode verpackt (wenn man will noch nen inline dran geklatscht) ist sogar ein paar Ticks schneller als die asm Implementierung. Soviel zu "ick schreib det ma in assembla, det is schnella"

Eine schöne Lösung, die aber stillschweigend davon ausgeht, das der Samstag mit 7 kodiert wird. Ändert sich das irgendwann, funktioniert die Lösung nicht mehr. Das ist zwar unwahrscheinlich (das sich das ändert), aber denkbar.
Das ist fast genauso wahrscheinlich wie eine "Übernahme durch Außerirdische/Nordkorea."

Delphi-Quellcode:
function LastSaturday (aDate : TDateTime) : TDateTime;
Var
  LastSunday : TDateTime;
Begin
  LastSunday := EndOfTheWeek(aDate-7);
  Result := LastSunday - 1;
End;
EndOfTheWeek ruft übrigens StartOfTheWeek auf, was wiederrum DayOfTheWeek aufruft.
Dann doch lieber gleich:
Delphi-Quellcode:
function LastSaturday(aDate: TDateTime): TDateTime;
begin
  Result := aDate - DayOfTheWeek(aDate) - 1;
end;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (23. Jul 2014 um 16:12 Uhr)
  Mit Zitat antworten Zitat