У меня есть следующий вспомогательный метод datetime, который преобразует UTC-зону Java 8 Date
в строку datetime:
public static String dateTimeString(Date date) {
return date.toInstant().atZone(ZoneId.of("UTC")).toLocalDateTime().toString();
}
Желаемый результат состоит в том, чтобы всегда результирующая строка была отформатирована как:
ГГГГ-ММ-дд'Т'ЧЧ:мм:сс'Z'
Проблема в том, что Java 8 LocalTime#toString()
намеренно удаляет компоненты времени, которые равны нулю. Так, например, если у меня есть экземпляр Date
, который представляет 8 июня 2018 г. в 12:35:00 UTC. Тогда вывод этого метода выше: 2018-06-08'T'12:35'Z'. В то время как я хочу, чтобы он содержал любые обнуленные компоненты секунды/минуты/часа (например, 2018-06-08'T'12:35:00'Z').
Есть идеи?
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss:SSS")
, который не относится к зоне UTC. - person hotmeatballsoup   schedule 24.04.2018