Was wäre das einfach gewesen, mal eben ein Datums-Objekt als String ausgeben. Aber was passiert – bei Quellen die nicht von mir sind natürlich: Es kommt immer ein Tag früher im Kalender raus als im Datumsobjekt stehend!

Kurz gedebugged und man sieht: Das Date-Objekt hat noch den Inhalt von z.B. „14.06.2008 00:00:00 CET“, dann kommt ein SimpleDateFormat von „dd.MM.yyyy“ und es ergibt einen String von „13.06.2008“! Boah!

Aber wie war das mit der Zeitzone? CET im datum ist OK, aber das SimpleDateFormat wird mit setTimeZone von GMT gefüttert? Dann nimmt der Formatierer nämlich die Differenz von einer Stunde und zieht die erst ab, schon haben wir „13.06.2008 23:00:00“ und daraus wird der String gemacht. Hab ich dich!

Schön so!