Если внимательно почитать документацию по форматированному выводу в Java, то можно найти следующие строки:
The format specifiers for types which are used to represents dates and
times have the following syntax:
%[argument_index$][flags][width]conversion
The optional argument_index, flags and width are defined as above.
The required conversion is a two character sequence. The first
character is 't' or 'T'. The second character indicates the format to
be used. These characters are similar to but not completely identical
to those defined by GNU date and POSIX strftime(3c).
Формат даты указывается двумя символами: собственно %t
, указывающий, что параметр нужно интерпретировать как дату, и флаги, указывающие в каком формате дату следует отображать. Например, следующий код выведет дату в соответствии с текущей локалью:
System.out.printf("%tD", new Date());
В документации приведён полный список флагов форматирования дат.
Если перед вами не стоит жёсткое условие использовать в коде System.out.printf
, то стоит обратить внимание на класс SimpleDateFormat
, позволяющий более гибко и читаемо настраивать отображение дат.