Сконвертировать строку 202306222200 в LocalDateTime

Рейтинг: -1Ответов: 1Опубликовано: 26.06.2023

У меня есть сплошная строка "202306222200" из нее нужно сделать LocalDateTime вида "yyyy-MM-dd'T'hh:mm"

Ответы

▲ 1Принят

Разница с указанным ответом только в том, что используются другие форматы и LocalDateTime вместо LocalDate:

import java.time.*;
import java.time.format.*;

// ...
String str = "202306222200";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
    "yyyyMMddHHmm"
);
DateTimeFormatter to = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm");

LocalDateTime d = LocalDateTime.parse(str, formatter);

System.out.println("Дата: " +  str + " -> " + d + " -> " + d.format(to));

Результат вывода:

Дата: 202306222200 -> 2023-06-22T22:00 -> 2023-06-22T22:00

Т.е. формат "yyyy-MM-dd'T'HH:mm" может использоваться также по умолчанию для дефолтной локали, см. LocalDateTime::toString