SimpleDateFormat

De ChuWiki
Saltar a: navegación, buscar

La clase SimpleDateFormat nos ayuda a mostrar las fechas en el formato que queramos o a reconstruirlas a partir de una cadena de texto.

Un uso simple de SimpleDateFormat para escribir una fecha en pantalla puede ser este

import java.text.SimpleDateFormat;
...
SimpleDateFormat formateador = new SimpleDateFormat("dd/MM/yyyy");

// Esto muestra la fecha actual en pantalla, más o menos así 26/10/2006
System.out.println(formateador.format(new Date()));

En la API de SimpleDateFormat podemos ver todas las opciones para la máscara de fecha y hora.

Para reconstruir una fecha a partir de la cadena de texto, podemos usar la misma clase SimpleDateFormat. Por ejemplo, si un usuario escribe una fecha con este formato en un JTextField, podemos leerla así

import java.text.SimpleDateFormat;
...
JTextField textField = new JTextField();
...
SimpleDateFormat formateador = new SimpleDateFormat("dd/MM/yyyy");
try
{
   Date fecha = formateador.parse(textField.getText());
}
catch (ParseException e)
{
   // Error, la cadena de texto no se puede convertir en fecha.
}

Por supuesto, podemos jugar con la máscara y ponerla a nuestro gusto, dentro de las posibilidades que nos ofrece la API de SimpleDateFormat.

SimpleDateFormat formateador = new SimpleDateFormat("'Hoy es' EEEEEEEEE dd 'de' MMMMM 'de' yyyy");
SimpleDateFormat formatea = new SimpleDateFormat("dd/mm/yyyy");
SimpleDateFormat forma    = new SimpleDateFormat("'Ingresaste' EEEEEEEEE dd 'de' MMMMM 'de' yyyy");
DateFormat formatoFecha=DateFormat.getDateInstance(DateFormat.FULL);
Un ejemplo en el foro del Jefe: http://foro.chuidiang.com/index.php?topic=613.msg2076#msg2076