Метод appendValue

Метод appendValue класса DateTimeFormatterBuilder добавляет поле даты-времени в форматтер на основе временного поля ChronoField. В первый параметр мы передаем временное поле, во второй необязательный параметр можно передать минимальную ширину поля, в третий - максимальную ширину, в четвертый - режим выравнивания, а в пятый - базовое значение для сокращенного формата года.

Импорт

kotlinimport java.time.format.DateTimeFormatterBuilder
import java.time.temporal.ChronoField

Синтаксис

kotlinfun appendValue(field: TemporalField): DateTimeFormatterBuilder
kotlinfun appendValue(field: TemporalField, width: Int): DateTimeFormatterBuilder
kotlinfun appendValue(field: TemporalField, minWidth: Int, maxWidth: Int, signStyle: SignStyle): DateTimeFormatterBuilder
kotlinfun appendValue(field: TemporalField, minWidth: Int, maxWidth: Int, signStyle: SignStyle, baseValue: Int): DateTimeFormatterBuilder

Пример

Создадим форматтер для вывода дня месяца с минимальной шириной в 2 символа:

kotlinval formatter = DateTimeFormatterBuilder()
  .appendValue(ChronoField.DAY_OF_MONTH, 2)
  .toFormatter()

val date = LocalDate.of(2025, 7, 5)
val result = date.format(formatter)
println(result)

Результат выполнения кода:

kotlinString "05"

Пример

Создадим форматтер для вывода года с минимальной шириной 4 и максимальной 10 символов:

kotlinval 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)

Результат выполнения кода:

kotlinString "2025"

Пример

Создадим форматтер для сокращенного формата года с базовым значением 2000:

kotlinval 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)

Результат выполнения кода:

kotlinString "25"

Пример

Создадим форматтер для вывода часа с дополнением нулями:

kotlinval formatter = DateTimeFormatterBuilder()
  .appendValue(ChronoField.HOUR_OF_DAY, 2)
  .toFormatter()

val time = LocalTime.of(9, 30)
val result = time.format(formatter)
println(result)

Результат выполнения кода:

kotlinString "09"

Смотрите также

  • метод appendPattern класса DateTimeFormatterBuilder,
    который добавляет шаблон форматирования
  • метод appendText класса DateTimeFormatterBuilder,
    который добавляет текстовое поле
  • метод toFormatter класса DateTimeFormatterBuilder,
    который создает форматтер из билдера
  • класс ChronoField,
    который представляет поля даты-времени