Convertir String a Date

malone
11 de Noviembre del 2003
Saludos.

Alguien me puede ayudar para convertir un string (fecha) que recibo de un formulario en HTML y mi servlet lo debe de procesar para activar una consulta a una table el problema que la consulta se debe de ejecutar con PreparedStatement y ocupar el setDate()

Gracias

Gurnan
11 de Noviembre del 2003
Aquí tienes un par de métodos. El primero convierte un string con formato "DD/MM/YY" o "DD/MM/YYYY" a una fecha válida java.util.Date. El segundo es el cast genérico de un string a un integer.

No sé si lo tienes, pero se debe tener un filtro a nivel formulario HTML para evitar peticiones fallidas. Para ello puedes tener unas funciones de validaciones en JavaScript, VBScript, etc.


public static Date stringToDate(String pAux)
{
Date ret;
String[] aux = pAux.split("/");
String stDia = getArrStr(aux, 0);
String stMes = getArrStr(aux, 1);
String stAny = getArrStr(aux, 2);

int dia = -1, mes = -1, any = -1;

dia = stringToInt(stDia);
mes = stringToInt(stMes);
any = stringToInt(stAny);

if (dia == -1 || mes == -1 || any == -1)
{
ret = new java.util.Date(0); // data no vlida
}
else
{
try
{
ret = new GregorianCalendar(any, mes-1, dia).getTime();
}
catch (Exception e) // en cas de null
{
ret = null;
}
}
return (ret);
}

public static int stringToInt(String pStrAux)
{
int codigo = -1;

try
{
codigo = (new Integer(pStrAux).intValue());
}
catch (Exception e)
{

}
return codigo;
}

Gustavo
11 de Noviembre del 2003
Date d = new java.text.SimpleDateFormat().parse(valor); // parsea el valor String a Date