miércoles, 16 de mayo de 2012

Darle formato a fechas en java

Una de las operaciones mas comunes que se necesita hacer con lo que respecta a fechas en Java, es darle formato a las mismas, ya sea en alguno de acuerdo a un estandar o de acuerdo a una especificación regional, esta operación es muy sencilla y no requiere de librerias especiales. En el siguiente ejemplo, se dara formato a la fecha actual, con el formato dd/MM/yyyy utilizando la clase Format y su subclase SimpleDateFormat.

//Se declara el Formater que se utilizara
Format formater;
//Se obtiene la fecha del momento
Date now = new Date();
//Se inicializa el Formater, mandandole como String el
//formato deseado (dd/MM/yyyy) 
formater = new SimpleDateFormat("dd/MM/yyyy");
//al formatear, se regresara un String
String formatedDate = formater.format(now);
//Se manda a imprimire la fecha con formato
System.out.println("Fecha actual: "+formatedDate);
Esa es una operación basica, sin embargo, es posible obtener datos mas especificos, por ejemplo la hora con los minutos y segundos actuales:
//Se crea un formater que nos devuelva la hora, 
//con minutos y segundos
formater = new SimpleDateFormat("k:K:s");
String formatedHour = formater.format(now);
System.out.println("Son las: "+formatedHour);

El codigo completo a continuación:
import java.text.DateFormat;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Date;

public class FormatoFechas {
 
       public static void main(String args[]){
  
      //Se declara el Formater que se utilizara
      Format formater;
      //Se obtiene la fecha del momento
      Date now = new Date();
      //Se inicializa el Formater, mandandole como String el formato
      //deseado (dd/MM/yyyy) 
      formater = new SimpleDateFormat("dd/MM/yyyy");
      //al formatear, se regresara un String
      String formatedDate = formater.format(now);
      //Se manda a imprimire la fecha con formato
      System.out.println("Fecha actual: "+formatedDate);
  
      //Se crea un formater que nos devuelva la hora, 
             //con minutos y segundos
     formater = new SimpleDateFormat("k:K:s");
     String formatedHour = formater.format(now);
     System.out.println("Son las: "+formatedHour);
  
 }

}