Итоги: Вычисления с датами
Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 51 из 68.
Задание
ЛегкоВы получите три входных значения: дату начала, дату окончания и строку формата. Первые два входных значения — это строки с датами в формате Y-m-d (например: 2024-03-15), а третье входное значение — это выражение для модификации, такое как +5 days, -2 weeks или +1 month.
Прочитайте все три входных значения, создайте два объекта DateTime из дат начала и окончания, примените выражение модификации к дате начала, а затем определите, какая дата наступит позже: измененная дата начала или исходная дата окончания. Выведите более позднюю дату в формате Y-m-d.
Формат входных данных:
- Первая строка: Строка с датой начала в формате
Y-m-d(например:2024-03-15) - Вторая строка: Строка с датой окончания в формате
Y-m-d(например:2024-04-10) - Третья строка: Строка модификации (например:
+5 daysили-2 weeks)
Ожидаемый результат: Более поздняя дата между измененной датой начала и исходной датой окончания, отформатированная как Y-m-d
Попробуйте сами
<?php
// Чтение трех входных данных
$startDate = trim(fgets(STDIN));
$endDate = trim(fgets(STDIN));
$modification = trim(fgets(STDIN));
// TODO: Напишите свой код ниже
// Создание объектов DateTime из начальной и конечной дат
// Применение модификации к начальной дате
// Сравнение измененной начальной даты с конечной датой
// Определение того, какая дата наступит позже
// Вывод более поздней даты в формате Y-m-d
echo $laterDate;
?>Все уроки раздела Логика и управление потоком
1Продвинутые функции
Анонимные функцииЗамыкания и 'use'Стрелочные функцииCallback-функцииИспользование 'call_user_func'Функции переменныхПередача по ссылкеРекурсивные функцииИтоги: ассорти из функций4Многомерные массивы
Создание 2D-массиваДоступ к элементам 2D-массиваИзменение элементов 2D-массиваИтерация с вложенными цикламиДвумерные ассоциативные массивыИтоги: Упражнение «Простая сетка»7Работа с датами и временем
Функция 'date()'Unix-метки времени с 'time()'Введение в объект DateTimeФорматирование объектов DateTimeИзменение объектов DateTimeИтоги: Вычисления с датами2Продвинутая работа с массивами
Добавление с помощью 'array_push'Удаление с помощью 'array_pop'Добавление с помощью 'array_unshift'Удаление с помощью 'array_shift'Слияние индексных массивовСлияние ассоциативных массивовИзвлечение с помощью 'array_slice'Поиск значений с 'in_array'Поиск ключей с 'array_search'Итоги: Упражнение «Плейлист»3Сортировка массивов
Сортировка индексных массивов по возрастаниюСортировка индексных массивов по убываниюСортировка ассоциативных массивов по значениюСортировка ассоциативных массивов по ключуСортировка в естественном порядкеПользовательская сортировка с помощью 'usort'Итоги: Сортировка таблицы лидеров