Что такое Carbon?
В дополнение к статье о манипуляции датами в PHP поговорим о том какповысить комфорт работы с помощью библиотеки Carbon
Что такое Carbon
Carbon — это расширение для работы с датами и временем в PHP, которое значительно упрощает и улучшает работу с классами DateTime
и DateTimeImmutable
. Эта библиотека входит в Laravel по умолчанию, но может использоваться и в любом другом PHP-проекте.
Преимущества использования Carbon
- Читаемость кода: интуитивно понятный API.
- Методы для манипуляций с датами: простое добавление/вычитание интервалов и работа с разницей между датами.
- Готовые функции: проверка выходных, форматирование и многое другое «из коробки».
Установка
composer require nesbot/carbon
Основные возможности Carbon
1. Создание объектов
use Carbon\Carbon;
$now = Carbon::now();
$birthday = Carbon::create(2000, 12, 24, 10, 0, 0);
2. Добавление и вычитание интервалов
$now = Carbon::now();
$now->addDays(5);
$now->subMonths(2);
$now->addYears(1);
3. Проверка даты
$now->isWeekend();
$now->isToday();
$now->isFuture();
$now->isPast();
4. Форматирование и парсинг даты
$now->toDateString(); // "2025-05-12"
$now->toDateTimeString(); // "2025-05-12 14:45:12"
$now->format('l jS \\of F Y');
5. Разница между датами
$diffInYears = $birthday->diffInYears($now);
$diffInDays = $birthday->diffInDays($now);
6. Временные зоны
$now = Carbon::now('Europe/Moscow');
$utcNow = Carbon::now('UTC');
7. Человеко-читаемые форматы
$now->diffForHumans(); // "1 minute ago"
Пример использования в Laravel
$user = User::find(1);
echo $user->created_at->diffForHumans();
$nextMonth = Carbon::now()->addMonth();
echo $nextMonth->toDateString();
Заключение
Carbon значительно упрощает работу с датами и временем в PHP. Она предоставляет чистое и лаконичное API, экономит время разработчиков и делает код читаемым и выразительным. Особенно полезна для проектов на Laravel, но может быть полезна и в любом другом PHP-проекте.
Похожие статьи
Добавление Soft Deletes в Laravel 12
Для реализации мягкого удаления (soft delete) в Laravel 12 вам нужно выполнить несколько шагов...
Читать дальше...Добавляем доменное имя для сайта размещенного на VPS
Это вторая часть по теме как разместить сайт разработанный с использование Laravel и Sail на VPS. В этой части мы сделаем сайт доступным по доменному имени, для чего познакомимся с NGINX и поработаем с его конфигурацией.
Читать дальше...Деплой Laravel Sail приложения на VPS
Цель этого туториала — разместить приложение, разработанное на Laravel 11, на VPS. Проект создан с использованием Docker и Laravel Sail
Читать дальше...