Nochmal hallo allerseits,
ich habe ein Verständnisproblem mit dem setzen von Zeiten beim GregorianCalendar.
Hintergrund: Ich habe eine Liste unterschiedlicher Tage. Zu einer gegebenen Kalenderwoche sollen die dazugehörenden Tage aus dieser Liste gesucht und in eine andere Liste gehängt werden. Der erste und der letzte Tage der KW ist bekannt (firstDay/ lastDay).
Idee: Die Tage der KW werden erkannt: ersterTag <= suchTag <= letzerTag
Umsetzung:
Eigentlich dachte ich, ich kann, nachdem ich zunächst das firstDate / lastDay geklont habe, die Stunden
auf Tagesbeginn / Tagesende setzen. Aber irgendwie interessieren ihn die Stunden nicht. Im Debugger steht dort immer 0,0,0 sowohl bei locFirst, las auch bei locLast. Das Datum setzt er um, nur die Stunden nicht, sodaß es zu dem Phänomen kommt, dass er Tage aus der nachfolgenden, bzw. vorherigen Woche mit in die Liste übernimmt.
kann mir das jemand erklären? Wo ist mein Denkfehler??
Vielen Dank,
Jens
ich habe ein Verständnisproblem mit dem setzen von Zeiten beim GregorianCalendar.
Hintergrund: Ich habe eine Liste unterschiedlicher Tage. Zu einer gegebenen Kalenderwoche sollen die dazugehörenden Tage aus dieser Liste gesucht und in eine andere Liste gehängt werden. Der erste und der letzte Tage der KW ist bekannt (firstDay/ lastDay).
Idee: Die Tage der KW werden erkannt: ersterTag <= suchTag <= letzerTag
Umsetzung:
Code:
long temp = firstDay.getTimeInMillis();
temp -= 86400000;
GregorianCalendar locFirst = new GregorianCalendar();
locFirst.setTimeInMillis(temp);
GregorianCalendar locLast = (GregorianCalendar)lastDay.clone();
...
if (gc.after(locFirst) && gc.before(locLast)){...
Eigentlich dachte ich, ich kann, nachdem ich zunächst das firstDate / lastDay geklont habe, die Stunden
Code:
locFirst.set(Calendar.HOUR_OF_DAY, 0);
locFirst.set(Calendar.MINUTE, 0);
locFirst.set(Calendar.SECOND, 0);
locLast.set(Calendar.HOUR_OF_DAY, 23);
locLast.set(Calendar.MINUTE, 59);
locLast.set(Calendar.SECOND, 59);
kann mir das jemand erklären? Wo ist mein Denkfehler??
Vielen Dank,
Jens