Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2012, 14:12
Vera_
 
Fecha de Ingreso: noviembre-2008
Mensajes: 13
Antigüedad: 16 años, 1 mes
Puntos: 1
Pregunta Problema con fechas

Hola!!

Soy nueva por aquí, y tengo una duda sobre el manejo de fechas en Java. Bueno, solo decirlos que me he pasado toda la tarde intentando buscar la solución a mi problema y no me ha funcionado nada.

Os cuento:

Tengo una clase, llamada PrestamoLibro, donde un Calendar que me saca la fecha actual que tiene el equipo, es decir, el código sería el siguiente (es global):

Código:
       public static Calendar c2prestamoL = Calendar.getInstance();
       
       public static int dia = (c2prestamoL.get(Calendar.DATE));
       public static int mes = (c2prestamoL.get(Calendar.MONTH));
       public static int annio = (c2prestamoL.get(Calendar.YEAR));
       public static long milis = c2prestamoL.getTimeInMillis();
(Public Static porque necesito esas atributos en otra clase).

Y luego, tengo otra clase, llamada PanelDevolucion, donde también saco la fecha actual del sistema y luego a través de un action performed de un botón quiero saber la diferencia de días que han transcurrido. Es decir, el código sería el siguiente:

Código:
      Calendar c2prestamo = Calendar.getInstance();

       int diaD = c2prestamo.get(Calendar.DATE);
       int mesD = c2prestamo.get(Calendar.MONTH);
       int annioD = c2prestamo.get(Calendar.YEAR);
       long milisD = c2prestamo.getTimeInMillis();
(También le tengo puesto como global).

Action Performed de un botón:

Cita:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// calcular la diferencia en milisengundos
long diff = PrestamoLibro.milis - milisD;

// calcular la diferencia en dias
long diffDays = diff / (24 * 60 * 60 * 1000);


JOptionPane.showMessageDialog(this, "Diferencia en días: "+diffDays,"OK", JOptionPane.INFORMATION_MESSAGE);

}
Pero cuando le doy de alta a un usuario y a una publicación (el programa es sobre la gestión de una biblioteca) y después hago préstamo de una publicación, luego cambio la fecha del sistema, y voy a devolver la publicación... la diferencia de días siempre me da 0.

He probado con otro código que encontré por internet, que si hace falta os lo muestro, pero tampoco funcionó, y no se porque me da un error de 0 días.

He pensado que quizás el problema está en los atributos de la clase PrestamoLibro, que los coge mal en la otra clase.

A ver si me podéis echar una mano...

Muchas gracias,

Un saludo.