Bin grad fest am debuggen eines Fehlers. Machmal passt der Wert und machmal passt er nicht.
der code ist nicht von mir, aber ich muss den fehler finden
Planwoche ist 200650, also KW 50 von 2006.
Wenn ich drüber laufen lasse, kommt 4. jan 2007 raus.
Wenn ich mir im Debugger immer cal ansehe mit cal.getTime() kommt der 28. Dez 2006 raus.
Ich verstehe wo der Fehler liegt. Wenn ich die KW setze, hab ich ein Datum. Wenn ich nun das Jahr ändere hab ich noch immer den selben Tag, dann passt aber die KW nicht mehr. Also zuerst Jahr dann KW setzen.
ABER warum bekomm ich beim zweimal durchlaufen zwei unterschiedliche Ergebnisse? Ändert mir ein Aufruf von getTime() wirklich das verhalten?
Und ich hab es auf einem Produktons Tomcat Server laufen. Bei mehrmaligen Aufrufen. Hab ich unterschiedliche Ergebnisse erhalten, ohne Aufruf von getTime(), wie kann das sein????
der code ist nicht von mir, aber ich muss den fehler finden
Code:
cal.set(Calendar.WEEK_OF_YEAR, new Integer(planWoche.substring(4, 6)).intValue());
cal.set(Calendar.YEAR, new Integer(planWoche.substring(0, 4)).intValue());
cal.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
cal.add(Calendar.DAY_OF_MONTH, this.getTageUeberBestelldatum());
java.util.Date planDatum = cal.getTime();
Wenn ich drüber laufen lasse, kommt 4. jan 2007 raus.
Wenn ich mir im Debugger immer cal ansehe mit cal.getTime() kommt der 28. Dez 2006 raus.
Ich verstehe wo der Fehler liegt. Wenn ich die KW setze, hab ich ein Datum. Wenn ich nun das Jahr ändere hab ich noch immer den selben Tag, dann passt aber die KW nicht mehr. Also zuerst Jahr dann KW setzen.
ABER warum bekomm ich beim zweimal durchlaufen zwei unterschiedliche Ergebnisse? Ändert mir ein Aufruf von getTime() wirklich das verhalten?
Und ich hab es auf einem Produktons Tomcat Server laufen. Bei mehrmaligen Aufrufen. Hab ich unterschiedliche Ergebnisse erhalten, ohne Aufruf von getTime(), wie kann das sein????