Введение в объект DateTime
Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 48 из 68.
В то время как процедурные функции, такие как date(), time() и strtotime(), хорошо подходят для базовых операций с датами, PHP предлагает более мощный и гибкий подход с использованием класса DateTime. Этот объектно-ориентированный метод обеспечивает лучшую организацию, более понятный синтаксис и более продвинутые функциональные возможности для работы с датами и временем.
Класс DateTime представляет конкретный момент времени как объект, которым вы затем можете манипулировать и форматировать с помощью различных методов. В отличие от процедурных функций, которые работают с отдельными метками времени и строками формата, объект DateTime инкапсулирует как данные даты/времени, так и операции, которые вы можете над ними выполнять.
<?php
$now = new DateTime();
echo $now->format('Y-m-d H:i:s'); // Выводит что-то вроде: 2024-03-15 14:30:25
?>Создание нового объекта DateTime без каких-либо параметров автоматически устанавливает его на текущую дату и время.
Объектно-ориентированный подход делает ваш код более читаемым и удобным в сопровождении, особенно когда вам нужно выполнить несколько операций с одной и той же датой. Вы найдете это особенно полезным при работе с более сложными вычислениями дат и требованиями к форматированию.
Задание
ЛегкоВы получите один входной параметр: строку даты в формате Y-m-d H:i:s (пример: 2024-03-15 14:30:25).
Прочитайте входную строку даты, создайте объект DateTime, используя эту строку даты в качестве параметра, и выведите объект DateTime напрямую.
Когда вы создаете объект DateTime с параметром в виде строки даты, он представляет этот конкретный момент времени вместо текущей даты и времени. Просто выведите объект с помощью echo, чтобы отобразить его.
Формат входных данных: Одна строка, содержащая строку даты в формате Y-m-d H:i:s (пример: 2024-03-15 14:30:25)
Ожидаемый результат: Дата и время, отформатированные как Y-m-d H:i:s
Попробуйте сами
<?php
// Прочитать входную строку даты
$dateString = trim(fgets(STDIN));
// TODO: Создать объект DateTime, используя строку даты, и вывести его
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
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'Итоги: Сортировка таблицы лидеров