I'm seeing some weird behaviour in 3.3 20040414: System.out.println("original date: " + date1); Date date2=new Date(date1.getYear(),date1.getMonth(), date1.getDate()); System.out.println("copied date: + date2); I can observe that date2->day = date1->day + 1.