JUNIOR-BLOG

Для всех кто увлекается программированием

Главная

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

Читать дальше...

Комментарии