Метод appendValue
Метод appendValue класса DateTimeFormatterBuilder добавляет поле даты-времени в форматтер на основе временного поля ChronoField.
В первый параметр мы передаем временное поле, во второй необязательный параметр можно передать минимальную ширину поля, в третий - максимальную ширину, в четвертый - режим выравнивания, а в пятый - базовое значение для сокращенного формата года.
Импорт
import java.time.format.DateTimeFormatterBuilder
import java.time.temporal.ChronoField
Синтаксис
fun appendValue(field: TemporalField): DateTimeFormatterBuilder
fun appendValue(field: TemporalField, width: Int): DateTimeFormatterBuilder
fun appendValue(field: TemporalField, minWidth: Int, maxWidth: Int, signStyle: SignStyle): DateTimeFormatterBuilder
fun appendValue(field: TemporalField, minWidth: Int, maxWidth: Int, signStyle: SignStyle, baseValue: Int): DateTimeFormatterBuilder
Пример
Создадим форматтер для вывода дня месяца с минимальной шириной в 2 символа:
val formatter = DateTimeFormatterBuilder()
.appendValue(ChronoField.DAY_OF_MONTH, 2)
.toFormatter()
val date = LocalDate.of(2025, 7, 5)
val result = date.format(formatter)
println(result)
Результат выполнения кода:
String "05"
Пример
Создадим форматтер для вывода года с минимальной шириной 4 и максимальной 10 символов:
val formatter = DateTimeFormatterBuilder()
.appendValue(ChronoField.YEAR, 4, 10, SignStyle.EXCEEDS_PAD)
.toFormatter()
val date = LocalDate.of(2025, 12, 31)
val result = date.format(formatter)
println(result)
Результат выполнения кода:
String "2025"
Пример
Создадим форматтер для сокращенного формата года с базовым значением 2000:
val formatter = DateTimeFormatterBuilder()
.appendValue(ChronoField.YEAR_OF_ERA, 2, 2, SignStyle.NOT_NEGATIVE, 2000)
.toFormatter()
val date = LocalDate.of(2025, 12, 31)
val result = date.format(formatter)
println(result)
Результат выполнения кода:
String "25"
Пример
Создадим форматтер для вывода часа с дополнением нулями:
val formatter = DateTimeFormatterBuilder()
.appendValue(ChronoField.HOUR_OF_DAY, 2)
.toFormatter()
val time = LocalTime.of(9, 30)
val result = time.format(formatter)
println(result)
Результат выполнения кода:
String "09"
Смотрите также
-
метод
appendPatternклассаDateTimeFormatterBuilder,
который добавляет шаблон форматирования -
метод
appendTextклассаDateTimeFormatterBuilder,
который добавляет текстовое поле -
метод
toFormatterклассаDateTimeFormatterBuilder,
который создает форматтер из билдера -
класс
ChronoField,
который представляет поля даты-времени