In der Hilfe habe ich folgendes gefunden
Delphi-Quellcode:
Die Funktion gibt die Woche des Jahres zurück, das durch einen TDateTime-Wert repräsentiert wird.
Unit
DateUtils
Kategorie
Datum/Zeit
Delphi-Syntax:
function WeekOfTheYear(
const AValue: TDateTime): Word;
overload;
function WeekOfTheYear(
const AValue: TDateTime;
var AYear): Word;
overload;
Beschreibung
Mit WeekOfTheYear können Sie die Woche des Jahres ermitteln, das durch den angegebenen TDateTime-Wert repräsentiert wird. WeekOfTheYear gibt einen Wert zwischen 1 und 53 zurück.
AYear gibt das Jahr mit der angegebenen Woche zurück. Dieser Wert darf nicht mit dem Jahr
in AValue identisch sein. Der Grund liegt darin, dass die erste Woche eines Jahres als erste Woche definiert ist, von der mindestens vier Tage
in das betreffende Jahr fallen. Ist also der erste Kalendertag eines Jahres der Freitag, Samstag oder Sonntag, gibt WeekOfTheYear für die ersten drei oder zwei Tage oder für den ersten Tag des Kalenderjahres die Woche des vorhergehenden Jahres zurück. Entsprechendes gilt am Jahresende: Ist der letze Kalendertag eines Jahres ein Montag, Dienstag oder Mittwoch, gibt WeekOfTheYear für die letzten drei oder zwei Tage bzw. den letzten Tag des Kalenderjahres den Wert 1 (erste Woche des nächsten Kalenderjahres) zurück.
Hinweis: WeekOfTheYear verwendet die Wochendefinition des ISO-Standards 8601. Demzufolge beginnt eine Woche am Montag und endet mit dem Sonntag.
Hinweis: WeekOfTheYear gibt den gleichen Wert wie die Funktion WeekOf zurück.
Wenn man die Aufrufvariante mit den zwei Parametern benutzt, dann bekommt man das hoffentlich richtige Jahr zur Woche.
Zum 31.12.2003 wird als Woche/Jahr => 01/2004 geliefert.
Das JAHR der WOCHE und des konkreten Tages stimmen beim Jahreswechsel nicht zwingend überein.
Delphi-Quellcode:
Var
wo,jw : Word;
::::
wo := WeekOfTheYear(pdDate, jw);