Не получается подобрать форматтер для вывода нужной строки по времени

Мне нужно получить текущее время в виде строки в таком формате: 2019-12-24T09:20:35.8062135+03:00. Никак не получается подобрать форматтер.

Проблема возникает с буквой Т посередине и форматом таймзоны. Вот такой вариант, например, не срабатывает и ругается на недопустимый символ Т посередине:

val FORMATTER: DateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMddTHH:mm:ss.SSSSSS Z")
println(ZonedDateTime.now().format(FORMATTER))

Ответы (1 шт):

Автор решения: alexander

Такой формат родной для javax.xml.datatype.XMLGregorianCalendar
Создайте объект этого класса. Например так:
xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(gcal);
gcal - объект класса java.util.GregorianCalendar
Дальше вызваем метод toString

→ Ссылка