Задачи на дату/время в Java. Часть 5
Дан массив строк:
String[] dates = {"2024-01-15", "15.02.2024", "2024/04/10"};
Распарсьте разными DateTimeFormatter и отсортируйте.
Даны интервалы:
LocalTime open = LocalTime.of(9, 0);
LocalTime close = LocalTime.of(18, 0);
Рассчитайте продолжительность рабочего дня в часах и минутах.
Дана Map:
Map<String, LocalDate> birthdays = Map.of( "Alice", LocalDate.of(1990, 3, 15), "Bob", LocalDate.of(1985, 7, 22) );
Найдите, у кого день рождения в текущем месяце.
Дан список:
List<Object> tx = List.of("2024-01-15T09:30:00", "2024-01-15T14:45:00");
Сгруппируйте по дням и посчитайте количество записей за каждый день.
Даны периоды:
LocalDate v1s = LocalDate.of(2024, 6, 1);
LocalDate v1e = LocalDate.of(2024, 6, 14);
Проверьте, пересекаются ли два периода отпуска.
Дан график:
Map<DayOfWeek, LocalTime[]> schedule = Map.of( DayOfWeek.MONDAY, new LocalTime[]{LocalTime.of(9,0), LocalTime.of(21,0)} );
Рассчитайте рабочее время за понедельник.
Даны события:
List<LocalDateTime> events = List.of( LocalDateTime.of(2024, 5, 10, 14, 0), LocalDateTime.of(2024, 5, 10, 18, 30) );
Найдите минимальный интервал между событиями.
Даны измерения:
Map<LocalDate, Double> temps = Map.of( LocalDate.of(2024, 1, 1), 25.3, LocalDate.of(2024, 1, 2), 26.1 );
Рассчитайте среднюю температуру и день с максимумом.
Даны праздники:
List<LocalDate> holidays = List.of( LocalDate.of(2024, 1, 1), LocalDate.of(2024, 1, 7) );
Для заданного месяца посчитайте рабочие дни (пн–пт без праздников).
Даны зоны:
ZoneId moscow = ZoneId.of("Europe/Moscow");
ZoneId utc = ZoneId.of("UTC");
Выведите текущее время в обеих зонах через ZonedDateTime.