Розбір дати з рядка

PHP:
Розбір дати з рядка

Як це зробити:

Вбудований клас DateTime у PHP надає потужний набір функцій для розбору та роботи з датами. Ви можете створити екземпляр DateTime з рядка дати, використовуючи конструктор, а потім відформатувати його за потребою. Ось як:

$dateString = "2023-04-25 15:30:00";
$dateObject = new DateTime($dateString);

echo $dateObject->format('Y-m-d H:i:s');
// Виведення: 2023-04-25 15:30:00

Для обробки рядків, які слідують нестандартним форматам, ви можете використати метод createFromFormat, який дозволяє вказати точний формат вхідної дати:

$dateString = "25-04-2023 3:30 PM";
$dateObject = DateTime::createFromFormat('d-m-Y g:i A', $dateString);

echo $dateObject->format('Y-m-d H:i:s');
// Виведення: 2023-04-25 15:30:00

Для більш складного розбору, який може не підтримуватися безпосередньо DateTime, PHP пропонує функцію strtotime, яка намагається розібрати будь-який англомовний текстовий опис дати/часу у Unix часову мітку:

$timestamp = strtotime("next Thursday");
echo date('Y-m-d', $timestamp);
// Виведення змінюватиметься залежно від поточної дати, наприклад, "2023-05-04"

Використання сторонніх бібліотек:

Хоча вбудовані функції PHP охоплюють широкий спектр випадків використання, іноді вам може знадобитися більш складний функціонал розбору. Бібліотека Carbon, розширення класу DateTime PHP, надає багатий набір можливостей для маніпуляції з датою/часом:

require 'vendor/autoload.php';

use Carbon\Carbon;

$dateString = "Tomorrow";
$date = Carbon::parse($dateString);

echo $date->toDateTimeString();
// Виведення змінюватиметься, наприклад, "2023-04-26 00:00:00"

Метод parse в Carbon розумно обробляє багато форматів дати та часу, роблячи його незамінним інструментом для додатків, що вимагають гнучкої функціональності розбору дат.