today create java date

create - java date today



Java, agregando minutos a una fecha, anomalía extraña (3)

Con Java Version 1.5.0_06 en Windows y Ubuntu Linux:

Cada vez que agrego minutos a la fecha "2008/10/05 00:00:00", parece que se agrega erróneamente una hora adicional.

es decir: agregar 360 minutos a 2008/10/05 00:00:00 a medianoche debe llegar a 2008/10/05 06:00:00

Pero está llegando a 2008/10/05 07:00:00

Lo más sorprendente es que esto SÓLO sucede cuando el día es 2008/10/05, todos los demás días que intento realizar la adición de los minutos correctamente.

¿Me estoy volviendo loco o es esto un error en Java?

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); try { String date = "2008/10/05 00:00:00"; int minutesToAdd = 360; // 6 hrs Calendar cal = Calendar.getInstance(); cal.setTime(sdf.parse(date)); cal.add(Calendar.MINUTE, minutesToAdd); System.out.println(cal.getTime()); } catch (ParseException e) {}


¿Podría ser esto de los ahorros de luz diurna?


Hay un cruce a los ahorros de luz diurna en ese día.

¿Estás en Nueva Zelanda? Si es así, eso significa que los archivos de la zona horaria están desactualizados. Mejor vaya al sitio de descarga de Java y descargue nuevos; busque "JDK DST Timezone Update Tool".


Echa un vistazo a Joda-Time .

De la documentación:

"Joda-Time ha sido creado para cambiar radicalmente el manejo de la fecha y la hora en Java. Las clases JDK Date y Calendar están mal diseñadas, han tenido numerosos errores y tienen extraños efectos de rendimiento".