Я пытаюсь обновить этот код, чтобы использовать Java 8 раз API
Calendar c = GregorianCalendar.getInstance(TimeZone.getTimeZone("UTC"));
c.set(2020, 6 - 1, 7, 0, 0, 0);
Date dts = c.getTime();
// this time is already initialised to 01:00 BST
int hours = 24;
int minutes= 9;
int seconds=0;
Calendar calendar = GregorianCalendar.getInstance(TimeZone.getTimeZone("UTC"));
calendar.setTime(dts);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, minutes);
calendar.set(Calendar.SECOND, seconds);
calendar.add(Calendar.HOUR_OF_DAY, hours);
System.out.println(calendar.getTime());
// Mon Jun 08 01:09:00 BST 2020
до чего-то подобного инициализация в 1 час. Вот где у меня трудности.
ZonedDateTime также не занимает часов больше 23, поэтому я должен уменьшить его на 1.
Я предполагаю, что вопрос, который я задаю, - каковы альтернативы java к методам в григорианском каландре, которые могут проявлять подобное поведение.