Also, hier etwas zum ISO 8601 Standard (aus der Delphi Hilfe):
Zitat:
... ISO-Standards 8601. Demzufolge beginnt eine Woche am Montag und endet am Sonntag. Die erste Woche eines Jahres ist die erste Kalenderwoche, deren Donnerstag in das betreffende Jahr fällt (die erste Woche mit mindestens vier Tagen im Jahr). Ist also der erste Kalendertag eines Jahres der Freitag, Samstag oder Sonntag, gibt WeekOf 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 WeekOf 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.
Wie aus diesem Text ersichtlich ist, kann der erste Tag der ersten Woche eines Jahres X durchaus auch auf den 29. Dezember des Jahres X-1 fallen.
Bitte seht euch mein Beispielprogramm an: Die Funktion GetStartOfFirstWeekInYearISO8601 liefert absolut richtige Ergebnisse, wie mit Hilfe des Monatskalenders im Programm empirisch bestätigt werden kann. Dieses Monatskalender-Steuerelement (TMonthCalendar) ist ein Wrapper des in Windows integrierten Steuerelementes, dessen angezeigte Wochennummern offensichtlich ebenfalls nach ISO 8601 Standard berechnet werden.
Meine Frage war lediglich:
Gibt es eine einfachere Methode, um den ersten Tag der ersten Woche eines Jahres nach ISO 8601 Standard zu bestimmen?