У меня есть String такого содержания:
2017-05-16T19:33:15+03:00
Мне нужно его распарсить в LocalDateTime. Решил делать это при помощи DateTimeFormatter. Паттерн получается такой:
private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-ddTHH:mm:ss");
Трудности возникли с зоной. Как её прописать в этом паттерне, чтобы он схавал String?
Альтернативные варианты (не через DateTimeFormatter) приветствуются.
Стоит экранировать T в серединке: 'T'.
Вместе с таймзоной это будет выглядеть примерно так: "yyyy-MM-dd'T'HH:mm:ss[XXX][X]"
Код:
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss[XXX][X]");
String date = "2017-05-16T19:33:15+03:00";
System.out.println(dateTimeFormatter.parse(date));
Вывод в консоль:
{OffsetSeconds=10800, InstantSeconds=1494952395},ISO resolved to 2017-05-16T19:33:15
Похожий/аналогичный вопрос: Java DateTimeFormatter for time zone with an optional colon separator?
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники