![]() |
AW: Datum letzter Samstag?
![]() Zitat:
|
AW: Datum letzter Samstag?
Jupp, drumm hatte ich auch beide Funktionen erwähnt und verlinkt.
Zitat:
|
AW: Datum letzter Samstag?
Aus der OH:
Zitat:
Gruß K-H |
AW: Datum letzter Samstag?
Off-By-One Fehler.. na und :P
Edit: Tut im Grunde genau #3 hab mich nur um "1" vertan |
AW: Datum letzter Samstag?
Zitat:
So schön, minimalistisch und elegant Uwes Lösung auch ist, ich würde vielleicht doch eine Schleife bevorzugen:
Delphi-Quellcode:
Hier ist es vollkommen egal, was DayOfWeek liefert (enum, integer, string etc.) Die Version läuft immer und überall (solange es Samstage gibt).
Function LastSaturday(Date : TDateTime) : TDateTime;
Const DaySaturday = 7; Begin Result := Date - 1; While DayOfWeek(Result) <> DaySaturday do Result := Result - 1; End; Alternative: ISO-8601-Routine verwenden;
Delphi-Quellcode:
Laut ISO ist der letzte Tag der Woche der Sonntag. Und die ISO ändert sich nicht, außer bei Übernahme durch Außerirdische/Nordkorea.
function LastSaturday (aDate : TDateTime) : TDateTime;
Var LastSunday : TDateTime; Begin LastSunday := EndOfTheWeek(aDate-7); Result := LastSunday - 1; End; |
AW: Datum letzter Samstag?
Zitat:
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" ;) Zitat:
Zitat:
Dann doch lieber gleich:
Delphi-Quellcode:
function LastSaturday(aDate: TDateTime): TDateTime;
begin Result := aDate - DayOfTheWeek(aDate) - 1; end; |
AW: Datum letzter Samstag?
So als LastWeekDay/Next... (oder so) würde das auch gut in die DateUtils vom XE9 passen. (bzw. als Helper ans TDateTime dran)
Im Delphi gibt/gab es mal 3 Kodierungen, in verschiedenen Funktionen. Kombinationen aus 1..7 oder 0..6 und So..Sa oder Mo..So |
AW: Datum letzter Samstag?
Zitat:
Zitat:
|
AW: Datum letzter Samstag?
Zitat:
Außerdem ist der Algorithmus: - gib mir den Tag der Woche, wobei Montag 1 und Sonntag 7 ist und - ziehe diesen vom Datum ab, das ergibt den letzten Sonntag, - dann nochmal eins abziehen und ich hab den letzten Samstag wohl kaum schwerer zu verstehen als: - ziehe eine Woche vom Datum ab und - gib mir davon den letzten Tag dieser Woche, das ergibt den letzten Sonntag, - dann nochmal eins abziehen und ich hab den letzten Samstag |
AW: Datum letzter Samstag?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz