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
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
Posta un commento