Servus,
Ich beobacht gerade ein Phänomen was ich mir nicht erklären kann.
Meine Funktion :
Ich hab ein Startdatum und ein Enddatum
Start: Mon Dec 11 00:00:00 CET 2006
Ende: Fri Dec 11 00:00:00 CET 2009
Das ist von aktuellen Datum -2 Jahre und +1 Jahr
Meine Schleife schaut so aus:
Ich lande in einer Endlosschleife was meinem Programm garnicht gut tut.
Die Ausgabe frisch Debugt
Mon Dec 11 00:00:00 CET 2006
Mon Dec 18 00:00:00 CET 2006
Mon Dec 25 00:00:00 CET 2006
Mon Jan 01 00:00:00 CET 2007
Mon Jan 08 00:00:00 CET 2007
.
.
.
Mon Dec 24 00:00:00 CET 2007
Mon Dec 31 00:00:00 CET 2007
Mon Jan 08 00:00:00 CET 2007 <---- Sollte eigentlich 2008 sein nicht 2007
Bin bissel planlos kann mir das Verhalten nicht erklären
Ich beobacht gerade ein Phänomen was ich mir nicht erklären kann.
Meine Funktion :
Code:
/**
* Addiert oder Subtrahiert von einem Datum die angegebene Anzahl
* an Kalenderwochen
* @param aDate Das Bezugsdatum
* @param aCount negativer oder positiver Wert
* @return Date Das geänderte Datum
*/
public Date rollDateKW(Date aDate, int aCount) {
Calendar theCalendar = getNewSystemCalendarInstance();
theCalendar.setTime(aDate);
theCalendar.set(Calendar.WEEK_OF_YEAR, theCalendar.get(Calendar.WEEK_OF_YEAR) + aCount);
return theCalendar.getTime();
}
Ich hab ein Startdatum und ein Enddatum
Start: Mon Dec 11 00:00:00 CET 2006
Ende: Fri Dec 11 00:00:00 CET 2009
Das ist von aktuellen Datum -2 Jahre und +1 Jahr
Meine Schleife schaut so aus:
Code:
while(theBeginnDate.before(theEndDate)) {
theBeginnDate = theDateUtil.rollDateKW(theBeginnDate, +1);
}
Ich lande in einer Endlosschleife was meinem Programm garnicht gut tut.
Die Ausgabe frisch Debugt
Mon Dec 11 00:00:00 CET 2006
Mon Dec 18 00:00:00 CET 2006
Mon Dec 25 00:00:00 CET 2006
Mon Jan 01 00:00:00 CET 2007
Mon Jan 08 00:00:00 CET 2007
.
.
.
Mon Dec 24 00:00:00 CET 2007
Mon Dec 31 00:00:00 CET 2007
Mon Jan 08 00:00:00 CET 2007 <---- Sollte eigentlich 2008 sein nicht 2007
Bin bissel planlos kann mir das Verhalten nicht erklären