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

problema con un formateo de fecha

Estas en el tema de problema con un formateo de fecha en el foro de Java en Foros del Web. Buenas a ver, vengo con un extraño caso (o por lo menos para mi...). Tengo una función para que dada una fecha te de esa ...
  #1 (permalink)  
Antiguo 18/07/2013, 03:58
 
Fecha de Ingreso: octubre-2012
Ubicación: Madrid
Mensajes: 67
Antigüedad: 11 años, 5 meses
Puntos: 1
problema con un formateo de fecha

Buenas

a ver, vengo con un extraño caso (o por lo menos para mi...). Tengo una función para que dada una fecha te de esa fecha en formato unix. El caso es que la uso millones de veces funciona bien, pero en un caso, no funciona y no sé si es que ya estoy volviendome loco o qué...

a ver si alguien puede echarme un cable.

La función es:

Código:
 private long obtenerFecha(String fecha) {
	fecha = fecha.substring(5, 25);
	SimpleDateFormat format = new SimpleDateFormat("dd MMM yyyy HH:mm:ss");
	Date res = null;
	try {
		res = format.parse(fecha);
	} catch (Exception e) {
		Log.e("Error_interno", "Error al formatear la fecha " + e.getMessage());
	}

	return (res.getTime() / 1000L);
}
Le meto como parámetro cosas como esta: Mon, 24 Jun 2013 11:53:14 +0200

El problema viene al meterle esto: Thu, 04 Apr 2013 20:23:25 +0200

con ese caso, me da este error:
Código:
Error al formatear la fecha Unparseable date: "04 Apr 2013 20:23:25" (at offset 3)
Había pensado que podía ser por la hora, así que en vez de HH he puesto KK, hh, kk... y nada...

:S :S :S

Alguien sabe por qué puede ser??

Gracias
  #2 (permalink)  
Antiguo 18/07/2013, 05:51
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: problema con un formateo de fecha

Pues he hecho la prueba y el problema es el siguiente.

Tú usas el Locale es_¿es?, y le estás pasando la fecha en inglés. Por un motivo que desconozco, la clase que implementa SimpleDateFormat.parse() es capaz de usar los nombres de la semana en inglés (supongo que ignora el día de la semana), pero no los meses.

Pásale el texto en castellano o crea el SimpleDateFormat con Locale de inglés.
__________________
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.

Etiquetas: fecha, formateo, 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 02:40.