Мы можем захотеть выводить время в соответствии с определенной привычкой, например, в порядке следования времени: год, месяц, воскресенье или год, месяц, воскресенье, часы, минуты и секунды.
На заре Java для форматирования дат использовался SimpleDateFormat , подкласс DateFormat в пакете java.text. Версия JDK 1.5 предоставляет более удобный класс Formatter . Метод формата класса Formatter выглядит следующим образом:
формат (режим формата, список дат)
В соответствии с «Режимом формата» верните строковое представление данных (год, месяц, день, час и т. д.), содержащихся в каждой дате, указанной в «Списке дат».
В настоящее время Java сделала метод форматирования статическим методом класса String. Таким образом, программа может напрямую использовать класс String для вызова метода форматирования для форматирования даты.
«Режим формата» в методе формата представляет собой последовательность символов , заключенную в двойные кавычки, то есть символы в этой последовательности символов состоят из символов формата времени и обычных символов.
Например: %ty, %tm и %td в дате: %ty-%tm-%td — это все символы формата времени. Первые два китайских символа («день» и «период»), двоеточие и символы формата находятся между символами. Все соединительные символы «-» являются обычными символами. С точки зрения непрофессионала, все, что не является символом формата времени, считается обычным символом.
Например: символы формата %ty, %tm и %td будут соответственно обозначать «год», «месяц» и «день» в дате.
Строка, возвращаемая методом format, представляет собой строку после того, как символ формата времени в «режиме форматирования» заменяется полученным отформатированным результатом, например:
Strings=String.format(%tY год %tm месяц %td день, newDate(), newDate(), newDate());
«Список дат» в методе формата может быть разделенным запятыми объектом Calendar или объектом Date .
Нам необходимо убедиться, что количество символов формата в «режиме формата» метода формата совпадает с количеством дат, перечисленных в «списке дат».
По умолчанию метод форматирования использует символы формата в «режиме форматирования», чтобы слева направо форматировать соответствующие даты в «списке дат», в то время как обычные символы в «режиме форматирования» остаются неизменными.
Если мы хотим использовать несколько символов формата для форматирования одной и той же даты в «Списке дат», мы можем использовать «<» в «Режиме форматирования», например: Три символа формата в %ty-%<tm-%< td будет форматировать ту же дату, то есть символ формата, содержащий «<», форматирует ту же дату, что и символ формата перед ним, например:
Strings=String.format(%tyyear%<tmmonth%<tdday,newDate());
Часто используемые символы формата даты: