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

fechas: problema de almacenamiento

Estas en el tema de fechas: problema de almacenamiento en el foro de Java en Foros del Web. Antes de todo he estado buscando por el foro, pero es que no encuentro la soluccion a mi problema particular, y se que tiene que ...
  #1 (permalink)  
Antiguo 08/07/2009, 02:48
 
Fecha de Ingreso: junio-2009
Mensajes: 20
Antigüedad: 14 años, 10 meses
Puntos: 0
fechas: problema de almacenamiento

Antes de todo he estado buscando por el foro, pero es que no encuentro la soluccion a mi problema particular, y se que tiene que ser una bobada.

El problema que tengo es que le paso a un servlet desde un formulario la fecha de inicio de una determinada oferta, y quiero almacenarla en la base de datos.

Código:
        Date dia_inicio=null;
        SimpleDateFormat sfd= null;
        String fechaStr= (String) request.getParameter ("fecha_ini");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");


        if (fechaStr!=null && !fechaStr.equals(""))
        dia_inicio= (Date) sdf.parse(fechaStr);

        ofertaNueva.dia_inicio = dia_inicio;
ofertaNueva es un objeto del tipo oferta. En ella el dia inicio esta definido como
Código:
public Date dia_inicio = null;
y tengo incluido:
Código:
import java.sql.Date;
en ambos archivos, tanto en la clase oferta, como en el servlet nuevaOferta.

Cuando lo ejecuto e intento guardar una nueva oferta con fecha por ejemplo: 2009-07-13 me da el siguiente problema :

ava.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

y me marca la linea de :
Código:
dia_inicio= (Date) sdf.parse(fechaStr);
alguna solucion? gracias!
  #2 (permalink)  
Antiguo 08/07/2009, 04:15
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: fechas: problema de almacenamiento

Wenas

El propio api te da la solucion. por ejemplo, existe un constructor de Date con un parametro tipo long, que es la fecha en milisegundos.

Curiosamente ese dato, lo devuelve el metodo getTime().

Saludos.

PD. Por que guardas solo la fecha, pudiendo guardar la fecha y la hora?? Si lo guardas todo puedes obtener la parte que te interese facilmente usando los formatos adecuados. Si solo guardas la fecha de la oferta y mañana te piden tambien la hora como haras??
  #3 (permalink)  
Antiguo 08/07/2009, 04:31
 
Fecha de Ingreso: junio-2009
Mensajes: 20
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: fechas: problema de almacenamiento

lo siento, pero no me he enterado de la respuesta muy bien :s, me puedes concretar un poco mas.
En principio solo voy a necesitar el dia, mes y año pues es para establecer el periodo de duraccion de la oferta.
Gracias!
  #4 (permalink)  
Antiguo 08/07/2009, 08:44
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: fechas: problema de almacenamiento

SimpleDateFormat.parse(String) devuelve un java.util.Date y tu se lo estás asignando a un java.sql.Date, de ahí el error.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 08/07/2009, 10:28
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: fechas: problema de almacenamiento

Código PHP:
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); 
  #6 (permalink)  
Antiguo 09/07/2009, 01:31
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: fechas: problema de almacenamiento

Cita:
Iniciado por drac94 Ver Mensaje
Código PHP:
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); 
Copiota...
  #7 (permalink)  
Antiguo 09/07/2009, 03:25
 
Fecha de Ingreso: junio-2009
Mensajes: 20
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: fechas: problema de almacenamiento

Muchas gracias por la respuesta!
  #8 (permalink)  
Antiguo 26/08/2009, 04:54
 
Fecha de Ingreso: junio-2009
Mensajes: 20
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: fechas: problema de almacenamiento

De todas formas, vuelvo a tener un problema con esto, y no se si lo entendi bien. Pero la cosa es que yo quiero recoger en un servlet una fecha que he metido en un formulario (con un calendario emergente y todo eso..) que la recogo en un String, y meterla en una variable de fecha para almacenarla en mi base de datos... si alguien me puede ayudar.
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 03:21.