Метод appendInstant
Метод appendInstant
класса DateTimeFormatterBuilder
добавляет возможность парсинга и форматирования объектов Instant
.
Метод поддерживает различные уровни точности - от секунд до наносекунд.
При форматировании Instant преобразуется в UTC время и выводится в формате год-месяц-деньTчасы:минуты:секунды.долисекундZ.
Импорт
import java.time.format.DateTimeFormatterBuilder
import java.time.Instant
Синтаксис
fun appendInstant(): DateTimeFormatterBuilder
fun appendInstant(fractionalDigits: Int): DateTimeFormatterBuilder
Пример
Создадим форматтер для Instant с точностью до секунд:
val formatter = DateTimeFormatterBuilder()
.appendInstant()
.toFormatter()
val instant = Instant.parse("2025-12-31T23:59:59Z")
val formatted = formatter.format(instant)
println(formatted)
Результат выполнения кода:
String "2025-12-31T23:59:59Z"
Пример
Создадим форматтер для Instant с точностью до миллисекунд:
val formatter = DateTimeFormatterBuilder()
.appendInstant(3)
.toFormatter()
val instant = Instant.parse("2025-07-15T12:30:45.123Z")
val formatted = formatter.format(instant)
println(formatted)
Результат выполнения кода:
String "2025-07-15T12:30:45.123Z"
Пример
Парсинг строки с Instant в объект:
val formatter = DateTimeFormatterBuilder()
.appendInstant()
.toFormatter()
val instantStr = "2025-03-20T10:15:30Z"
val instant = formatter.parse(instantStr, Instant::from)
println(instant)
Результат выполнения кода:
Instant "2025-03-20T10:15:30Z"
Пример
Использование кастомного форматтера с другими полями:
val formatter = DateTimeFormatterBuilder()
.appendLiteral("Timestamp: ")
.appendInstant()
.appendLiteral(" UTC")
.toFormatter()
val instant = Instant.now()
val formatted = formatter.format(instant)
println(formatted)
Результат выполнения кода:
String "Timestamp: 2025-01-01T00:00:00Z UTC"
Смотрите также
-
класс
Instant
,
который представляет момент времени на временной шкале -
метод
appendPattern
классаDateTimeFormatterBuilder
,
который добавляет шаблон для форматирования -
метод
toFormatter
классаDateTimeFormatterBuilder
,
который создает готовый форматтер -
класс
DateTimeFormatter
,
который предоставляет готовые форматеры для работы с датой и временем