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 розумно обробляє багато форматів дати та часу, роблячи його незамінним інструментом для додатків, що вимагають гнучкої функціональності розбору дат.