pasar de String a Date

pika
23 de Marzo del 2006
Hola:

Estoy intentando pasar de un String a un objeto de tipo Date. Para ello me sirvo de la clase SimpleDateFormat pero no consigo que funcione, he probado todas las posibles combinaciones de patrones, pero sigue saltando la excepcion: Unparseable date.

Este es mi codigo:

SimpleDateFormat conversor= new SimpleDateFormat(\"E M d HH:mm:ss z yyyy\");
try{
Date dateinit = conversor.parse(\"Wed Mar 22 18:36:46 CET 2006\");
}
catch(Exception es){ System.out.println(es); }

A ver si alguien puede ayudarme, estoy parada con esto y necesito avanzar.

Muchas gracias de antemano :)


neossoftware
23 de Marzo del 2006
En que formato esta la fecha que quieres tranformar???

Saludos

pika
23 de Marzo del 2006
el formato es el mismo que he puesto en el ejemplo:

jeu mar 23 10:26:58 CET 2006

puedes decirme como lo paso a Date???

muchas gracias de antemano

Camus
23 de Marzo del 2006
Hola, te anexo dos clases para que puedas siguir trabajando con tu proyecto y no te detengas con el formato de fechas
package org.neos;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormatUtil {



public static String datePattern = "dd/MM/yyyy"; //estos son los patrones y los puedes mover a conveniencia

//private static String datePattern = "yyyy-MM-dd";
private static String timePattern = datePattern + " HH:MM a";




public static final Date convertStringToDate(String aMask, String strDate)
throws ParseException {
SimpleDateFormat df = null;
Date date = null;
df = new SimpleDateFormat(aMask);


try {
date = df.parse(strDate);
} catch (ParseException pe) {
//log.error("ParseException: " + pe);
throw new ParseException(pe.getMessage(), pe.getErrorOffset());
}

return (date);
}


/**
* Return default datePattern (MM/dd/yyyy)
* @return a string representing the date pattern on the UI
*/
public static Date convertStringToDate(String strDate)
throws ParseException {
Date aDate = null;

try {
aDate = convertStringToDate(datePattern, strDate);
} catch (ParseException e) {

e.printStackTrace();
throw new ParseException(e.getMessage(),
e.getErrorOffset());

}

return aDate;
}



}

//aghora el ejemplo
package org.neos;

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;

public class Fecha {

public static void main(String[] args) {

String fecha = "22/03/2006"; //(dia,mes,año)aunque puede ser otro formato
Date fhoy = new Date();//checa la clase para formar los patrones

try {
fhoy = DateFormatUtil.convertStringToDate(fecha);
System.out.println(fhoy);

} catch (ParseException e) {
e.printStackTrace();
}


}
}

pika
23 de Marzo del 2006
acabo de mirar tus clases detenidamente y en realidad lo que hacen es exactamente lo mismo que yo hacia, crear un SimpleDataFormat con el patron de la fecha y llamar al metodo parse para transformar el string a una fecha... mi problema entonces va a seguir siendo el patron!!! porque con ese patron y esas fechas me salta la excepcion Unparseable date;

mis fechas son de este tipo:: jeu mar 23 10:26:58 CET 2006
y he probado un monton de patrones.

se te ocurre algo?

gracias de nuevo

Camus
23 de Marzo del 2006
Bueno si se trata del patron ya checaste el API? de seguro biene algun patron en la documentacion, le deberias hechar un ojo.
Saludos

pika
23 de Marzo del 2006
Gracias por tus clases, yo pensaba que lo mas sencillo era utilizar la clase SimpleDataFormat pero voy a ver que puedo hacer con lo que tu me has dado a ver si me va.

gracias