Foros del Web » Programación para mayores de 30 ;) » Java »

JSpinner error con 1970

Estas en el tema de JSpinner error con 1970 en el foro de Java en Foros del Web. Buenas, tengo creado un JSpinner: JSpinner actividadHoraInicio = new javax.swing.JSpinner(new SpinnerDateModel()); actividadHoraInicio .setModel(new javax.swing.SpinnerDateModel(new java.util.Date(), null, null, java.util.Calendar.HOUR)); El primer getValue() me lo hace correcto ...
  #1 (permalink)  
Antiguo 07/12/2012, 05:38
 
Fecha de Ingreso: diciembre-2012
Mensajes: 1
Antigüedad: 11 años, 11 meses
Puntos: 0
JSpinner error con 1970

Buenas, tengo creado un JSpinner:

JSpinner actividadHoraInicio = new javax.swing.JSpinner(new SpinnerDateModel());

actividadHoraInicio .setModel(new javax.swing.SpinnerDateModel(new java.util.Date(), null, null, java.util.Calendar.HOUR));

El primer getValue() me lo hace correcto me muestra: Fri Dec 07 12:30:18 CET 2012
pero al modificar el valor de JSpinner me devuelve: Thu Jan 01 11:30:00 CET 1970

No quiero que ni la fecha ni el año lo canvie.
He probado el SimpleDateFormat pero nada
Alguna solucion? Tendria que añadir un StateChange Event? Si es asi que tengo que controlar en el metodo StateChange?

Estoy ya un poco desesperado con el tema.
Merci por la ayuda.
  #2 (permalink)  
Antiguo 07/12/2012, 06:42
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 3 meses
Puntos: 188
Respuesta: JSpinner error con 1970

Debe haber algo en tu código que hace que la fecha se reinicie al primer valor del Calendar (o Date) => Thu Jan 01 00:00:00 CET 1970

Dado que la hora que le pone es 11:30:00 debe estar realizando una modificación sobre esa fecha.

Intuición: Si lo que quieres es realizar una cuenta de tiempo, la diferencia (diff) no se debería setear en un new Date(diff) o con calendar.setTime(diff), ya que si lo que pasasen son 11 horas y media entre el primer y segundo resultado, lo que obtendrías al final es el segundo resultado con esta situación.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: jsp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:26.