Klasa DateTimeFormatter służy do formatowania wartości obiektów Date na ciągi daty i godziny zgodne z konwencjami obowiązującymi w danym regionie.
Formatowanie odbywa się zgodnie z ciągiem wzorca, który zawiera sekwencje liter do zastąpienia przez wartości daty i godziny. Na przykład: we wzorcu „rrrr/MM” znaki „rrrr” zostaną zastąpione czterocyfrową wartością roku, po której pojawi się znak „/” i dwucyfrowe oznaczenie miesiąca.
Ciąg wzorca może zostać jawnie ustawiony za pomocą metody setDateTimePattern(). Najlepiej jednak pozwolić na automatyczne ustawienie wzorca zgodnie z ustawieniami narodowymi użytkownika i preferencjami wybranymi w systemie operacyjnym. Ułatwi to automatyczne dostosowanie wyniku do specyfiki kulturowej.
Klasa DateTimeFormatter umożliwia przedstawienie dat i godzin w trzech standardowych stylach (LONG, MEDIUM oraz SHORT), a także może również wykorzystywać wzorzec CUSTOM. Jeden styl można zastosować względem daty, a drugi względem godziny. Rzeczywiste wzorce używane dla każdego ze stylów mogą różnić się nieco w zależności od systemu operacyjnego.
Style można określić podczas tworzenia obiektu DateTimeFormatter. Jeżeli parametry stylu nie są określone, zostaną wówczas domyślnie ustawione na wartość DateTimeStyle.LONG. Później można zmieniać style za pomocą metody setDateTimeStyles(), co zaprezentowano poniżej:
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