La clase SimpleDateFormat
En ocasiones necesitamos mostrar fechas en un cierto formato, para esto podemos utilizar la clase SimpleDateFormat en unos sencillos pasos:1- Creamos un objeto de tipo SimpleDateFormat y pasamos en el constructor de la clase el patrón deseado. En este caso mostraremos la fecha actual en el formato 23-12-2012 por lo que utilizaré el patrón dd-MM-yyyy
SimpleDateFormat formato = new SimpleDateFormat("dd-MM-yyyy");
2- Creamos un objeto de tipo Date, al crearlo con el constructor por defecto almacena la fecha actual, que es justo lo que necesitamos
Date fecha = new Date();
3- Utilizamos el método String format(Date date) de la clase SimpleDateFormat, el cual nos devuelve un cadena con la representación de la fecha pasada en el constructor y con el patrón especificado anteriormente en el paso 1. El valor obtenido lo almacenamos en la variable de tipo String fechaActual
String fechaActual = formato.format(fecha);
4- Por último imprimimos el valor obtenido en pantalla
System.out.println(fechaActual);
En resumen:
SimpleDateFormat formato = new SimpleDateFormat("dd-MM-yyyy"); Date fecha = new Date(); String fechaActual = formato.format(fecha); System.out.println(fechaActual);
Otras veces necesitamos trabajar con una fecha que el cliente nos proporcionan en un formato específico. Para esto seguiremos nuevamente unos sencillos pasos:
1- Creamos un objeto de tipo SimpleDateFormat y pasamos en el constructor de la clase el patrón de la fecha proporcionada por el cliente. En este caso asumiremos que la fecha proporcionada tiene el formato yyyy/MM/dd
SimpleDateFormat formato = new SimpleDateFormat("yyyy/MM/dd");
2- Utilizamos el método Date parse(String source) de la clase SimpleDateFormat, el cual nos devuelve un objeto de tipo Date que contiene la fecha pasada en el constructor.En este caso supongamos que el valor de la fecha proporcionada por el cliente es 2012/10/24. A la hora de utilizar este método lo encerraremos dentro de un bloque try-catch ya que así lo demanda la definición del método para capturar cualquier posible excepción
Date fecha = null; try { fecha = formato.parse("2012/10/24"); } catch (ParseException e) { e.printStackTrace(); }
3- Teniendo el valor de la fecha almacenado en nuestro objeto de tipo Date podemos darle el uso que necesitemos, en este caso con fines didácticos lo único que haré será imprimir su valor.Para esto utilizamos el método toString() de la clase Date para obtener una cadena con el valor de la fecha y lo almacenamos en la variable fechaProporcionada de tipo String
String fechaProporcionada = fecha.toString();
4- Por último imprimimos el valor de la fecha
System.out.println(fechaProporcionada);
En resumen:
SimpleDateFormat formato = new SimpleDateFormat("yyyy/MM/dd"); Date fecha = null; try { fecha = formato.parse("2012/10/24"); } catch (ParseException e) { e.printStackTrace(); } String fechaProporcionada = fecha.toString(); System.out.println(fechaProporcionada);
Otros patrones de fecha
Patrón | Resultado |
---|---|
"yyyy.MM.dd G 'at' HH:mm:ss z" | 2001.07.04 AD at 12:08:56 PDT |
"EEE, MMM d, ''yy" | Wed, Jul 4, '01 |
"h:mm a" | 12:08 PM |
"hh 'o''clock' a, zzzz" | 12 o'clock PM, Pacific Daylight Time |
"K:mm a, z" | 0:08 PM, PDT |
"yyyyy.MMMMM.dd GGG hh:mm aaa" | 02001.July.04 AD 12:08 PM |
"EEE, d MMM yyyy HH:mm:ss Z" | Wed, 4 Jul 2001 12:08:56 -0700 |
"yyMMddHHmmssZ" | 010704120856-0700 |
Comentarios
Publicar un comentario