La classe DateTimeFormatter consente di formattare valori di data in stringhe data e ora in base alle convenzioni di impostazioni internazionali specifiche.
La formattazione segue una stringa modello contenente le sequenze di lettere che devono essere sostituite con valori di data e ora. Nel modello “aaaa/MM”, ad esempio, i caratteri “aaaa” vengono sostituiti con un anno a quattro cifre, seguito dal carattere “/” e un mese a due cifre.
La stringa modello può essere impostata in maniera esplicita utilizzando il metodo setDateTimePattern(). Tuttavia, è preferibile lasciare che il modello venga impostato automaticamente in base alle impostazioni internazionali dell'utente e alle preferenze del sistema operativo. Questa prassi garantisce che il risultato sia culturalmente appropriato.
La classe DateTimeFormatter può rappresentare date e ore in tre stili standard (LONG, MEDIUM e SHORT) è può anche utilizzare un modello CUSTOM. Uno stile può essere utilizzato per la data e un secondo stile per l'ora. I modelli effettivi utilizzati per ogni stile possono variare in base al sistema operativo.
Potete specificare gli stili quando create un oggetto DateTimeFormatter. Se non sono specificati, i parametri dello stile vengono impostati su DateTimeStyle.LONG per impostazione predefinita. Potete modificare gli stili in seguito utilizzando il metodo setDateTimeStyles(), come mostrato nell'esempio seguente:
var date:Date = new Date(2009, 2, 27, 13, 1);
var dtf:DateTimeFormatter = new DateTimeFormatter("en-US",
DateTimeStyle.LONG, DateTimeStyle.LONG);
var longDate:String = dtf.format(date);
trace(longDate); // March 27, 2009 1:01:00 PM
dtf.setDateTimeStyles(DateTimeStyle.SHORT, DateTimeStyle.SHORT);
var shortDate:String = dtf.format(date);
trace(shortDate); // 3/27/09 1:01 PM