Мне нужно получить два экземпляра ZonedDateTime, представляющие начало и конец текущей недели.
ZonedDateTime currentDateTime = ZonedDateTime.now();
ZonedDateTime startOfThisWeek = currentDateTime.with(DayOfWeek.MONDAY).truncatedTo(ChronoUnit.DAYS).plusMinutes(1);
ZonedDateTime endOfThisWeek = startOfThisWeek.plusDays(6);
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd kk:mm");
String startweek = startOfThisWeek.format(df);
String endweek = endOfThisWeek.format(df);
System.out.println(startweek);
System.out.println(endweek);
Выход:
2018-06-18 24:01
2018-06-24 24:01
Что представляет эта строка? Это 1 минута после полуночи, утро 2018-06-18? Если да, то почему 24:01 действительное время? Я думал, что это должно быть 00:01 в 24-часовом представлении часов.
Изменение: и есть ли способ форматировать это, чтобы показать 00:01 вместо того, чтобы преобразовать строку в новую строку?