Obtener fecha actual con formato en Java

Vamos a escribir un método que nos devuelva en formato string la fecha y la hora actual en el formato que especifiquemos. Para ellos utilizaremos java.text.DateFormat, java.text.SimpleDateFormat, java.util.Date, java.util.Locale y java.util.TimeZone.

public String obtenerFecha(){ 
     DateFormat formato = new SimpleDateFormat( 
          "EEE, d MMM yyyy HH:mm:ss z", Locale.ENGLISH);  
     formato.setTimeZone(TimeZone.getTimeZone("GMT+1"));
     return formato.format(new Date()); 
}

En primer lugar creamos un formato personalizado para mostrar la fecha. En la documentación de java sobre la clase SimpleDateFormat puede consultarse como se forman los patrones de formato, así como algunos ejemplos de formatos habituales. Tras el patrón, definimos que lo queremos en inglés, aunque el constructor de SImpleDateFormat también admite un solo parámetro con el patrón que tomaría el valor «locale» del sistema.

En el ejemplo que se muestra, se mostrarían las tres primeras letras del día de la semana en inglés, el día en formato número, las tres primeras letras del mes en ingés, el año y la hora más la franja horaria.

La franja horaria se establece para el formato creado con el método setTimeZone, que recogerá el valor del método getTimeZone de java.util.TimeZone.

Para aplicar el formato definido a la fecha utilizamos el método format del objeto DateFormat creado y le pasamos como parámetro la fecha en formato java.util.Date que queremos formatear.

Deja un comentario