This bug should win an award for the most obscure bug I've ever run into this year. Check out this code below: Calendar cal1 = new GregorianCalendar(2012, 5, 11); cal1.setTimeZone(TimeZone.getTimeZone("UTC")); Calendar cal2 = new GregorianCalendar(2012, 5, 12); cal2.