martes, 26 de mayo de 2009

Formateo de objeto Date

Ahora vamos a ver como trabajar el formato de una fecha. Tenemos que iniciar indicando que el tiempo en Java es representado por una objeto de la clase Date.

Date date = new Date();

Con la sentencia anterior descrita podemos crear un objeto con la información necesaria de la fecha y hora actual (fecha y hora del sistema operativo).

Listo !!!... ahora queda la labor de mostrarlo en pantalla:


System.out.println(date.toString());

Obteniendo el siguiente resultado:






Hasta aquí todo excelente !!!... pero que sucede cuando se quiere que la fecha u hora se muestre en un formato especial como por ejemplo:

· 01/02/2009
· 01-02-09
· 01 Feb 2009
· Dom 01 Feb del 2009, etc

Uhmmm… una solucion seria trabajarlo como una cadena String (solución muy laboriosa) construyendo el formato de la fecha haciendo uso de los métodos de la clase Date e ir concatenando las cadenas obtenidas uno por uno.

Bueno…. no se preocupen tanto porque Java posee una librería dedicada al formato de distintas entidades como por ejemplo formato de dinero, de fechas, etc. Y en esta ocasión vamos a utilizar la clase SimpleDateFormat que esta orientada al formateo de fechas y horas.

Antes de crear un objeto SimpleDateFormat es necesario importar la librería.

import java.text. SimpleDateFormat;

Con ello ya podremos crear nuestra instancia SimpleDateFormat:

String format = "yyyyMMdd";
SimpleDateFormat formato = new SimpleDateFormat(format);

Como pueden observar, para crear una instancia de la clase SimpleDateFormat se necesita de un parámetro, específicamente de una cadena que es la que contendrá el formato de cómo mostrar la fecha u hora.
Con el formato podemos jugar con las siguientes opciones:

Cadena Resultado
yyyyMMdd 20090401

dd.MM.yy 09.04.98

yyyy.MM.dd G 'at' hh:mm:ss z 1998.04.09 AD at 06:15:55 PDT

EEE, MMM d, ''yy Thu, Apr 9, '98

h:mm a 6:15 PM

H:mm 18:15

H:mm:ss:SSS 18:15:55:624

H:mm a,z 6:15 PM,PDT

Una vez definido el formato en la cadena format, utilizaremos el metodo format(...) de la clase SimpleDateFormat, que devuelve una cadena con la fecha u hora ya formateada.

Hay que mencionar además que el método format necesita como parámetro a un objeto de la clase Date, que es el objeto a partir del cual formateará la fecha.

String cadenaFormateada = formato.format(date);

Los objetos “tiempo” provenientes de una base de datos también pueden ser formateados debido a que la clase Date de la librería java.sql tiene como clase madre a Date de la librería java.util.

Por hoy, esto ha sido todo… espero que le sea de ayuda.

No hay comentarios.:

Publicar un comentario