hast du mal das analysiert ?
Delphi-Quellcode:
function DayOfWeek(Date: TDateTime): Integer;
begin
Result := Trunc(Date) mod 7 +1;
end;
Zitat:
Zum Beispiel die Funktion DayOfWeek arbeitet auch mit diesem Prinzip.
Ja das stimmt, nur das die
RTL es viel effizienter macht, siehe meinen Source
Gruß Hagen
[edit]
mein Posting könnte sich eventuell ein bischen arrogant anhören, sorry dafür, ist natürlich nicht so gemeint.
Ein Schmunzeln kann ich mir aber denoch nicht vermeiden, denn wie man sieht kann man mit TDateTime viel effiezienter rechnen als man es vielleicht vermuten würde.
Der Trick ist ganz einfach: TDateTime im Vorkommapart enthält die Anzahl der Tage seit einem fixen Startdatum. Ein TDateTime = 0 ist demzufolge gleich diesem STartdatum. Das Startdatum wurde so gewählt das es ein 1.1. eines Jahres ist und dieser Tag zusätzlich nich ein Sonntag war.
Ergo: den Wochentag eines TDateTime zu berechen oder die Differenz zweier TDateTime in Tagen zu berechnen sind ganz normale mathematiche Operationen, simple Formeln die mit divisionen/subtraktionen auskommen.
[/edit]