Задачи на дату/время в Dart. Часть 7
Создайте класс Event с полем DateTime date.
Отсортируйте список Event по дате.
Найдите ближайшее будущее событие в списке.
Отфильтруйте события текущего месяца.
Сгруппируйте события по дню недели в Map<int, List<Event>>, где ключ — weekday (1 = понедельник … 7 = воскресенье).
List<Event> events = [
Event(DateTime(2024, 6, 10)),
Event(DateTime(2024, 6, 11)),
Event(DateTime(2024, 6, 17)),
];
Посчитайте средний интервал между событиями: отсортируйте список по date, вычислите разницы соседних дат как Duration и верните среднее (например, в часах или минутах).
Сделайте функцию, проверяющую пересечение двух временных интервалов.
Создайте расписание на неделю: Map<int, List<String>>, где ключ — день недели, значение — список дел. Добавьте хотя бы по одному делу на будние дни и выведите расписание по порядку дней.
Работа с DateTime и Map: по списку дат постройте Map<String, int> «дата в формате yyyy-MM-dd → количество событий». Увеличьте счётчик при повторяющихся датах.
List<DateTime> dates = [
DateTime(2024, 6, 15, 10),
DateTime(2024, 6, 15, 18),
DateTime(2024, 6, 16, 9),
];
Итоговая комплексная задача на дату/время.