Auch dafür bieten Programmiersprachen bereits entsprechende Methoden. In JavaScript bspw. heißen sie
getDate()
,getMonth()
.
Siehst Du, wir brauchen Methoden welche die entsprechenden Eigenschaften rausrücken! Z.B. getYear4Kalenderwoche()
und getYear4Datum()
und das war genau das, was ich gestern bei meiner Anwendung nachgeholt habe (danke Pit).
Das ist ja der Sinn einer objektorientierten Programmierung, daß man mit Veränderungen besser zurechtkommt. So hatte meine Methode kw()
zur Berechnung der KW zwar auch das dazugehörige Jahr schon berechnet aber nicht zurückgegeben, weil bis dahin die Ausgabe der KW nur eine Frage der Formatierung war und das zur KW gehörige Jahr als Rückgabewert in bisherigen Anwendungen keine Rolle spielte.
Anstatt nun diesen Rückgabewert anders zu formatieren (also das Jahr hinzuzufügen), was Änderungen in ungezählten anderen Anwendungen nach sich gezogen hätte, genügte es, das zur KW gehörige Jahr in eine weitere Eigenschaft der Datuminstanz zu setzen und diese Eigenschaft year4kw
public zu machen, fertig.
Zur eigentlichen Berechnung des zur KW gehörigen Jahres benötigt man 2 Dinge, den Tag zur ersten Kalenderwoche und die Anzahl möglicher Kalenderwochen eines Jahres (DIN1355).
Schönen Sonntag 😉