Rappresentare le Date in Java con Apache Commons DateFormatUtils

DOMANDA:

Come posso personalizzare le date in Java?


RISPOSTA:

Dopo aver visto come utilizzare le date con il SimpleDateFormat, passiamo a vedere una possibile alternativa fornita da un package di Apache Commons contenente l'oggetto DateFormatUtils.

Per utilizzarlo è necessario scaricare commons-lang3-3.1.jar (versione testata in questo post).

Dopo aver settato il build path del progetto ed importato il jar appena scaricato, guardiamo nell'esempio come rappresentare le date in maniera semplice e veloce:
package date;

import java.util.Calendar;
import java.util.Date;

import org.apache.commons.lang3.time.DateFormatUtils;

public class DateFormatUtilsTest {
   public static void main(String[] args) {

     // utilizziamo DateFormatUtils con la data odierna
     String dataOdierna = DateFormatUtils.format((new java.util.Date()), "MM/dd"); 
     System.out.println("dataOdierna = " + dataOdierna); 

     // impostiamo la data a nostro piacimento
     Calendar cal = Calendar.getInstance();
     cal.set(2009, 11, 9); // il mese è zero based, quindi 0 = GENNAIO, 11 = DICEMBRE!!

     // utilizziamo DateFormatUtils con un oggetto Calendar
     String pattern = "dd-MM-yyyy hh:mm z"; 
     String dataPersonalizzata = DateFormatUtils.format(cal, pattern); 
     System.out.println("dataPersonalizzata1 = " + dataPersonalizzata); 

     // utilizziamo DateFormatUtils con un oggetto java.util.Date
     Date data = cal.getTime(); 
     dataPersonalizzata = DateFormatUtils.format(data, "dd/MM/yyyy HH:mm"); 
     System.out.println("dataPersonalizzata2 = " + dataPersonalizzata);
   }
}
L'output sarà il seguente:
dataOdierna = 04/15
dataPersonalizzata1 = 09-12-2009 09:12 CET
dataPersonalizzata2 = 09/12/2009 21:38


Possiamo personalizzare ulteriormente il pattern utilizzando la tabella di riferimento qui sotto:

Pattern - Tabella di riferimento

Per inserire del testo non interpretato come pattern è sufficiente metterlo tra singoli apici.

Per ulteriori approfondimenti consiglio una lettura alla documentazione ufficiale.

Commenti

Post popolari in questo blog

Arrotondamento e troncamento in Java

Eclipse: Shortcuts (scorciatoie) da tastiera

Strutture dati: List, Set, Map

Creare un eseguibile Java