Задачи на дату/время в Kotlin. Часть 5
Дан список строк с датами в различных форматах:
val dates = listOf("2024-01-15", "15.02.2024", "March 25, 2024", "2024/04/10")
Используя разные парсеры, преобразуйте все даты в LocalDate и отсортируйте по возрастанию.
Дан список рабочих интервалов:
val workPeriods = listOf(
Pair(LocalTime.of(9, 0), LocalTime.of(18, 0)),
Pair(LocalTime.of(10, 30), LocalTime.of(19, 30)),
Pair(LocalTime.of(8, 45), LocalTime.of(17, 15))
)
Рассчитайте продолжительность каждого рабочего дня в часах и минутах.
Дана коллекция Map с днями рождения:
val birthdays = mapOf(
"Alice" to LocalDate.of(1990, 3, 15),
"Bob" to LocalDate.of(1985, 7, 22),
"Charlie" to LocalDate.of(1995, 11, 8)
)
Найдите кто из сотрудников празднует день рождения в текущем месяце.
Дан список транзакций с временными метками:
val transactions = listOf(
Pair("2024-01-15T09:30:00", 1000),
Pair("2024-01-15T14:45:00", 2500),
Pair("2024-01-16T11:20:00", 1800)
)
Сгруппируйте транзакции по дням и посчитайте сумму за каждый день.
Даны периоды отпусков сотрудников:
val vacations = listOf(
Pair(LocalDate.of(2024, 6, 1), LocalDate.of(2024, 6, 14)),
Pair(LocalDate.of(2024, 7, 15), LocalDate.of(2024, 7, 29)),
Pair(LocalDate.of(2024, 8, 5), LocalDate.of(2024, 8, 19))
)
Проверьте, есть ли пересечения между периодами отпусков.
Дан график работы магазина:
val schedule = mapOf(
DayOfWeek.MONDAY to Pair(LocalTime.of(9, 0), LocalTime.of(21, 0)),
DayOfWeek.TUESDAY to Pair(LocalTime.of(9, 0), LocalTime.of(21, 0)),
DayOfWeek.SATURDAY to Pair(LocalTime.of(10, 0), LocalTime.of(20, 0))
)
Рассчитайте общее рабочее время за неделю.
Дан список дат с событиями:
val events = listOf(
LocalDateTime.of(2024, 5, 10, 14, 0),
LocalDateTime.of(2024, 5, 10, 18, 30),
LocalDateTime.of(2024, 5, 11, 10, 0)
)
Найдите минимальный интервал между событиями.
Дана серия ежедневных измерений:
val measurements = mapOf(
LocalDate.of(2024, 1, 1) to 25.3,
LocalDate.of(2024, 1, 2) to 26.1,
LocalDate.of(2024, 1, 3) to 24.8
)
Рассчитайте среднюю температуру за период и найдите день с максимальным значением.
Дан производственный календарь:
val holidays = listOf(
LocalDate.of(2024, 1, 1),
LocalDate.of(2024, 1, 2),
LocalDate.of(2024, 1, 7)
)
Для заданного месяца определите количество рабочих дней (пн-пт, исключая праздники).
Дан список временных зон:
val timeZones = listOf("UTC", "Europe/Moscow", "America/New_York")
Для текущего момента времени выведите время в каждой из указанных зон.