Работа с датами в PHP: библиотека Carbon

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Что такое 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 2025

5. Проверка дат

$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-разработчика. Она экономит время, делает код чище и избавляет от типичных ошибок при работе с датами. Установите её в свой проект уже сегодня!

Рекомендаций