Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/01/2006, 13:53
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 5 meses
Puntos: 51
Hola,
Hay dos "fallos":

.- El primero es que la 'M' dentro del formato significa el numero de mes (1 para enero en el ejemplo). Para cogerte el nombre corto del mes deberias poner MMM.
.- El segundo es que el SimpleDateFormat lo estas creando sin especificar el "Locale", asi que por defecto cogerá el de la maquina virtual y como el S.O. lo tendras en español... pues no puedes pasarle los nombres en inglés.

Si el formato de fecha que tienes es ese, entonces el SimpleDateFormat deberia ser:
SimpleDateFormat sdf1 =
new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy",Locale.ENGLISH);

La forma de encontrar los fallos ha sido hacer el camino inverso:
System.err.println("Fecha: " + sdf1.format(new Date()));
... mirar lo que sale y leer con el API con cuidado. Estas clases suelen ser un pelin quisquillosas y hay que leerselo mirando los detallitos. Lo del Locale ha sido una inspiración por que no es la primera vez que los valores por defecto me hacen alguna de estas.

Un saludo