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

[SOLUCIONADO] Problema al convertir String a Date

Estas en el tema de Problema al convertir String a Date en el foro de Java en Foros del Web. Debo ejecutar un procedimiento almacenado en PL, y uno de los parametros que pide son las fechas de inicio y de fin del proceso. entonces ...
  #1 (permalink)  
Antiguo 26/08/2014, 13:40
 
Fecha de Ingreso: noviembre-2013
Mensajes: 147
Antigüedad: 10 años, 5 meses
Puntos: 1
Problema al convertir String a Date

Debo ejecutar un procedimiento almacenado en PL, y uno de los parametros que pide son las fechas de inicio y de fin del proceso.

entonces hago esto :
Código Java:
Ver original
  1. ...
  2. ...
  3. CallableStatement callableStatement2=  cn.prepareCall("{    lfv_pk_ind_c.prc_calcula_indicador(?,?,?,?,?) }");                  
  4.         //Parametros de entrada                
  5.  
  6.         SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
  7.     String FI = "01-08-2014";
  8.     String FF = "31-08-2014";
  9.  
  10.     try {
  11.         Date FIX = formatter.parse(FI);
  12.         Date FFX = formatter.parse(FF);
  13.     } catch (ParseException e) {
  14.         e.printStackTrace();
  15.     }
  16.         callableStatement2.setString("p_fvt_id","FI");  
  17.         callableStatement2.setInt("p_din_id",103);  
  18.         callableStatement2.setDate("p_fecha_ini", FIX);  
  19.         callableStatement2.setDate("p_fecha_fin", formatter.format(FFx));  
  20. ...
  21. ...

Bueno el problema es que la variable Date FIx y FFx no me funcionan, que esta mal?

Gracias por sus aportes.
  #2 (permalink)  
Antiguo 27/08/2014, 00:24
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Problema al convertir String a Date

¿Qué significa no me funcionan?
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 27/08/2014, 07:16
 
Fecha de Ingreso: noviembre-2013
Mensajes: 147
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Problema al convertir String a Date

Tienes Razon, que pena, aqui explico que pasa:

Bien, cuando reviso la variable que guarda la fecha me la entrega con este formato :

Fri Aug 01 00:00:00 GMT-05:00 2014

Leyendo veo que se puede usar formatter.format(FFX) y alli entrega la fecha con el formato correcto :

01-08-2014

pero cuando lo utilizo como parametro dentro del callablestatement, no la reconoce:

Código Java:
Ver original
  1. callableStatement2.setDate("p_fecha_fin", formatter.format(FFx))

Gracias.
  #4 (permalink)  
Antiguo 28/08/2014, 00:47
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Problema al convertir String a Date

¿Pero te da error?

Cita:
callableStatement2.setDate("p_fecha_fin", formatter.format(FFx));
format devuelve una String, y callableStatement2.setDate como su nombre indica espera un Date.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 28/08/2014, 07:11
 
Fecha de Ingreso: noviembre-2013
Mensajes: 147
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Problema al convertir String a Date

Me genera el mensaje siguiente :

no suitable method found for setDate(String,String)

si le dejo solo la variable sin format me genera el mensaje :

no suitable method found for setDate(String,java.util.Date)
  #6 (permalink)  
Antiguo 28/08/2014, 08:26
 
Fecha de Ingreso: noviembre-2013
Mensajes: 147
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Problema al convertir String a Date

Bien, lo tengo solucionado....para otro novato como yo, que tenga este lio:

La solucion es pasar de String a Date con SimpleDateFormat, y luego convertirlo a java.sql.Date, bueno no se si hay otra solucion mas inteligente pero esta me funciono.

Código Java:
Ver original
  1. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  2.     String FI = "2014-08-01";
  3.     String FF = "2014-08-31";
  4.         Date FIX = null;
  5.         Date FFX = null;
  6.         java.sql.Date FIX2 = null;
  7.         java.sql.Date FFX2 = null;
  8.     try {
  9.         FIX = formatter.parse(FI);
  10.                 FIX2 = new java.sql.Date(FIX.getTime());
  11.         FFX = formatter.parse(FF);
  12.                 FFX2 = new java.sql.Date(FFX.getTime());
  13. //      System.out.println(FIX);
  14. //      System.out.println(formatter.format(FIX));
  15.  
  16.         } catch (ParseException e) {
  17.         e.printStackTrace();
  18.     }

Etiquetas: date, string
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 06:55.