РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dtTsTmClL8 77 of 128 menu

Задачи на дату/время в Dart. Часть 8

Создайте функцию String relativeDay(DateTime date), которая сравнивает дату с DateTime.now() (только year/month/day) и возвращает 'сегодня', 'вчера', 'завтра' или строку формата dd.MM.yyyy для остальных дней.

Сделайте функцию, возвращающую количество полных лет между датами.

Сделайте функцию, проверяющую, попадает ли время в рабочие часы.

Создайте упрощённый cron-подобный парсер: функция принимает строку вида 'минута час' (например, '30 14' — каждый день в 14:30) и DateTime now, возвращает true, если текущие минута и час совпадают. Поддержите '*' как «любое значение».

bool matchesCron(String expr, DateTime now) { /* ... */ } // matchesCron('30 14', DateTime(2024, 1, 1, 14, 30)) -> true // matchesCron('* 14', DateTime(2024, 1, 1, 14, 5)) -> true

Сделайте функцию, возвращающую timestamp начала дня.

Сделайте функцию, возвращающую timestamp конца дня.

Работа с DateTime и List: из списка дат удалите прошедшие относительно DateTime.now(), отсортируйте оставшиеся по возрастанию и верните ближайшие 3.

List<DateTime> dates = [ DateTime(2020, 1, 1), DateTime.now().add(Duration(days: 1)), DateTime.now().add(Duration(days: 5)), DateTime.now().add(Duration(hours: 2)), ];

Создайте календарь событий на Map<DateTime, List<String>> (ключ — дата без времени). Реализуйте добавление события на день и получение списка дел на указанную дату.

Комплексная задача — планировщик: храните задачи как Map<DateTime, List<String>>. Добавьте функции: добавить задачу, показать задачи на сегодня, показать просроченные (дата раньше сегодняшней) и ближайшую будущую задачу.

Итоговая задача на DateTime в Dart.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить