Problema con variables tipo date

Marvin
02 de Febrero del 2005
Saludos a todos, necesito definir una variable tipo date y almacenar una fecha, la cula cambia durante el proceso, por ejemplo en un momento debo almacenar 23/05/2006 y en otro 13/08/2004. Gracias por su ayuda.

Lemony Snicket
02 de Febrero del 2005
Hola,...

Te pongo el código...

String fecha="23/05/2006";
String fecha2= "13/08/2004";
String patron="dd/MM/yyy";
SimpleDateFormat sdf= new SimpleDateFormat(patron);
Date d= sdf.parse(fecha, new ParsePosition(0));
System.out.println("Fecha:"+d);

Como se repite el patrón en ambas fechas, sólo hay que hacer...

d= sdf.parse(fecha2, new ParsePosition(0));
System.out.println("Fecha2:"+d);

Si el formato de la segunda fecha es otro, por ejemplo 2004-08-13 basta con redefinirlo...

fecha2="2004-08-13";
String patron2="yyyy-MM-dd";
sdf.applyPattern(patron2);
d= sdf.parse(fecha2, new ParsePosition(0));
System.out.println("Fecha con formato diferente:"+d);

Si quieres cambiar el formato de la fecha basta con definir un nuevo patron sobre el formateador sdf y aplicarlo...


String patron2="MM*yyyy*dd";
sdf.applyPattern(patron2);
StringBuffer b = sdf.format(fecha, new StringBuffer(), new FieldPosition(0) );
System.out.println(b.toString());

Espero que te sirva. Un saludo.

juan
02 de Febrero del 2005
Bueno, esa es una solución "poco" elegante, más bien debería hacerse con la clase Calendar, algo así:
Calendar cal = Calendar.getInstance();
cal.set(2006,4,23);
//Primera asignación
Date fecha = cal.getTime();

//segunda
cal.set(2004,08,13);
fecha = cal.getTime();

Si quieres saber más visita estos artículos:
http://www.geocities.com/javacolombia/articulos/art0002.htm
http://www.geocities.com/javacolombia/articulos/art0002-2.htm