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

Salida erronea algunas veces en SimpleDateFormat

Estas en el tema de Salida erronea algunas veces en SimpleDateFormat en el foro de Java en Foros del Web. Muchas gracias por vuestra atención, Lo primero de todo, hacer notar que estoy usando la JRE 1.3.1_11. Tengo un método que devuelve una cadena representando ...
  #1 (permalink)  
Antiguo 23/01/2006, 03:17
 
Fecha de Ingreso: enero-2006
Mensajes: 4
Antigüedad: 18 años, 10 meses
Puntos: 0
Salida erronea algunas veces en SimpleDateFormat

Muchas gracias por vuestra atención,

Lo primero de todo, hacer notar que estoy usando la JRE 1.3.1_11.

Tengo un método que devuelve una cadena representando la fecha actual en el formato "yyyy-MM-dd HH:mm:ss"; representación que uso para hacer una llamada a BD.

El método funciona bien casi siempre pero algunas veces produce una salida extraña.

Por ejemplo, creó la salida:
2005-0012-20 00:45:49

cuando la fecha de entrada era 2006-01-20 y la hora era sobre las 07:45.

Este es el código que estoy usando:

String stFechaActual=objDBAccess.getDateTimestamp();
FormatDate formatoFecha = new FormatDate(stFechaActual);
String fechaFormateada = formatoFecha.toStringForUpdate();


The methods and class variables used in my FormatDate class are:

static final SimpleDateFormat ISO1 =
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
static final SimpleDateFormat DATEARQ = ISO1;

public FormatDate(String cadena) {
try {
calendario = Calendar.getInstance();
if (cadena.startsWith("'")) cadena = cadena.substring(1);
if (cadena.endsWith("'")) cadena = cadena.substring(0, cadena.length()-1);
//calendario.setTime(ISO2.parse(cadena));
calendario.setTime(DATEARQ.parse(cadena));
} catch (ParseException e) {
//objTraza.error("Fecha de entrada con formato distinto al de BBDD");
}

}

public String toStringForUpdate ()
{
return "to_date('"+this.toString()+"','YYYY-MM-DD hh24:mi:ss')";
}

public String toString() {
return DATEARQ.format(calendario.getTime());
}

El problema acontece en el método toStringForUpdate, en la llamada this.toString()

Gracias a todos por adelantado
  #2 (permalink)  
Antiguo 23/01/2006, 13:24
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 19 años, 1 mes
Puntos: 7
Hola:

Nunca he trabajado con la JDK 1.3, no tienes que enredarte tanto con poner esto luego de obtener el Date de la base de datos es suficiente:

public String obtenerString(Date fecha) {
SimpleDateFormat formatofecha = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return formatofecha.format(fecha);
}
__________________
El último TipdaR
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:23.