Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/01/2006, 03:17
jagomi
 
Fecha de Ingreso: enero-2006
Mensajes: 4
Antigüedad: 18 años, 3 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