Метод appendFraction
Метод appendFraction класса DateTimeFormatterBuilder добавляет в форматтер дробную часть указанного временного поля.
В первый параметр мы передаем поле, для которого добавляется дробная часть, во второй параметр минимальное количество цифр, в третий параметр максимальное количество цифр, а в четвертый необязательный параметр можно передать признак вывода точки в десятичном формате.
Импорт
import java.time.format.DateTimeFormatterBuilder
import java.time.temporal.ChronoField
Синтаксис
fun appendFraction(field: TemporalField, minWidth: Int, maxWidth: Int, decimalPoint: Boolean): DateTimeFormatterBuilder
Пример
Создадим форматтер для времени с дробной частью секунды:
val formatter = DateTimeFormatterBuilder()
.appendPattern("HH:mm:ss")
.appendFraction(ChronoField.NANO_OF_SECOND, 0, 3, true)
.toFormatter()
val timeStr = "14:30:45.123"
println("Formatted: " + timeStr)
Результат выполнения кода:
String "Formatted: 14:30:45.123"
Пример
Создадим форматтер с наносекундами без десятичной точки:
val formatter = DateTimeFormatterBuilder()
.appendPattern("HH:mm:ss")
.appendFraction(ChronoField.NANO_OF_SECOND, 6, 6, false)
.toFormatter()
val timeStr = "14:30:45123456"
println("Formatted: " + timeStr)
Результат выполнения кода:
String "Formatted: 14:30:45123456"
Пример
Парсинг строки с дробной частью секунды:
val formatter = DateTimeFormatterBuilder()
.appendPattern("HH:mm:ss")
.appendFraction(ChronoField.NANO_OF_SECOND, 0, 9, true)
.toFormatter()
val timeStr = "14:30:45.123456789"
val time = java.time.LocalTime.parse(timeStr, formatter)
println("Parsed time: " + time)
Результат выполнения кода:
String "Parsed time: 14:30:45.123456789"
Смотрите также
-
метод
appendPatternклассаDateTimeFormatterBuilder,
который добавляет шаблон форматирования -
метод
appendValueклассаDateTimeFormatterBuilder,
который добавляет числовое значение поля -
метод
toFormatterклассаDateTimeFormatterBuilder,
который создает форматтер из билдера -
класс
ChronoField,
который содержит временные поля для форматирования