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

Timestamp en mySQL

Estas en el tema de Timestamp en mySQL en el foro de Java en Foros del Web. Ya está solucionado! El problema era q tenía un método getVenta que cogía el campo fecha como .getDate().. Hola!!! Espero q me puedan ayudar, ante ...
  #1 (permalink)  
Antiguo 10/05/2012, 03:53
 
Fecha de Ingreso: noviembre-2010
Mensajes: 93
Antigüedad: 13 años, 6 meses
Puntos: 1
Timestamp en mySQL

Ya está solucionado! El problema era q tenía un método getVenta que cogía el campo fecha como .getDate()..


Hola!!!
Espero q me puedan ayudar, ante todo muchas gracias!

Tengo una BD en MySql con una tabla Venta que tiene un campo Fecha de tipo "Timestamp". Cuando lo veo en mysql me guarda la fecha como quiero " 2012-05-10 10:37:46".
Pues bien, hago un jframe que tiene un Jcombobox,en el cual relleno con las ventas que hay en la BD, y sólo me muestra 2012-05-10
Alguien sabe por qué pasa esto??

Dejo código:

Código Java:
Ver original
  1. if (fecha1.getDate() != null && fecha2.getDate() == null) {
  2.             combo_ventas.removeAllItems();
  3.             //muestro las ventas desde la fecha fecha1
  4.             List<Venta> listaVentas = gbd.ventas();
  5.             for (int i = 0; i < listaVentas.size(); i++) {
  6.                 if (sdf.format(listaVentas.get(i).getFecha()).compareTo(sdf.format(fecha1.getDate())) >= 0) {
  7.                     combo_ventas.addItem(sdf.format(listaVentas.get(i).getFecha()));
  8.                 }
  9.             }
  10.             if (combo_ventas.getItemCount() > 0) {
  11.                 mostrar.setEnabled(true);
  12.             }
  13.         }

He probado haciendo esto:
Código JAVA:
Ver original
  1. SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy h:mm");
  2.         if (fecha1.getDate() != null && fecha2.getDate() == null) {
  3.             combo_ventas.removeAllItems();
  4.             //muestro las ventas desde la fecha fecha1
  5.             List<Venta> listaVentas = gbd.ventas();
  6.             for (int i = 0; i < listaVentas.size(); i++) {
  7.                 if (sdf.format(listaVentas.get(i).getFecha()).compareTo(sdf.format(fecha1.getDate())) >= 0) {
  8.                     combo_ventas.addItem(sdf.format(listaVentas.get(i).getFecha()));
  9.                 }
  10.             }
  11.             if (combo_ventas.getItemCount() > 0) {
  12.                 mostrar.setEnabled(true);
  13.             }
  14.         }

Pero me sale 10-05-2012 12:00 ( y ese 12:00 está mal, me debería salir 10:37)
Alguien me puede ayudar por favor???
Muchas gracias!

Última edición por yasmine27; 10/05/2012 a las 04:08
  #2 (permalink)  
Antiguo 10/05/2012, 13:02
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Timestamp en mySQL

Hola:

Las bases de datos tienen tres tipos de campos: Date para fecha, Time para hora y TimeStamp para fecha/hora. Cuando lees en java, hay tres clases java para ello java.sql.Time, java.sql.Date y java.sql.TimeStamp.

Si en base de datos está bien, revisa cómo lo estás obteniendo del ResultSet. Si usas java.sql.Date, se comerá la hora, como parece que te está pasando.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: mysql, timestamp
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 19:00.