Что такое Carbon?
Carbon — это популярная библиотека для работы с датами и временем в PHP. Она является расширением для встроенного класса DateTime и предоставляет более удобный, читаемый и функциональный API. Carbon часто называют "DateTime для людей", так как он упрощает манипуляции с датами, форматирование, вычисление разниц и работу с часовыми поясами.
Зачем нужна Carbon?
Встроенные в PHP функции для работы с датами (date(), strtotime(), DateTime) часто требуют громоздкого кода и плохо читаются. Carbon решает эти проблемы:
- Интуитивно понятные методы:
->addDays(),->subMonths(),->diffForHumans(). - Локализация и вывод "человеческих" форматов (например, "2 дня назад").
- Простая работа с часовыми поясами.
- Неизменяемые объекты (immutable) для безопасной работы.
Установка
Установите Carbon через Composer:
composer require nesbot/carbonПосле установки подключите библиотеку:
<?php
require 'vendor/autoload.php';
use Carbon\Carbon;Основные функции с примерами
1. Создание даты
// Текущая дата и время
$now = Carbon::now();
// Из строки
$date = Carbon::parse('2025-03-15');
// Из формата
$date = Carbon::createFromFormat('Y-m-d', '2025-03-15');2. Манипуляции с датами
$date = Carbon::now();
// Добавить 7 дней
$date->addDays(7);
// Вычесть 1 месяц
$date->subMonth();
// Начало месяца
$date->startOfMonth();3. Разница между датами
$start = Carbon::parse('2025-01-01');
$end = Carbon::parse('2025-12-31');
// Количество дней
$days = $start->diffInDays($end); // 364
// Человеческий формат
echo $start->diffForHumans($end); // "11 месяцев после"4. Форматирование
$date = Carbon::now();
echo $date->toDateString(); // 2025-03-15
echo $date->format('l jS \of F Y'); // Saturday 15th of March 20255. Проверка дат
$date = Carbon::parse('2025-03-15');
var_dump($date->isWeekend()); // true (суббота)
var_dump($date->isFuture()); // false
var_dump($date->isPast()); // trueКогда использовать Carbon?
Carbon идеально подходит для:
- Веб-приложений, где нужно выводить относительные даты ("только что", "2 часа назад").
- Систем бронирования, календарей, планировщиков задач.
- API, где требуется гибкое форматирование дат для разных часовых поясов.
- Любого проекта, где код с датами должен быть читаемым и поддерживаемым.
Если вы используете фреймворки Laravel или Symfony, Carbon уже встроен в них по умолчанию.
Заключение
Carbon — это must-have библиотека для любого PHP-разработчика. Она экономит время, делает код чище и избавляет от типичных ошибок при работе с датами. Установите её в свой проект уже сегодня!