¿Qué es Carbon?
Carbon es una biblioteca popular para trabajar con fechas y horas en PHP. Es una extensión de la clase incorporada DateTime y proporciona una API más conveniente, legible y funcional. A menudo se llama a Carbon "DateTime para humanos", ya que simplifica las manipulaciones de fechas, el formateo, el cálculo de diferencias y el trabajo con zonas horarias.
¿Por qué se necesita Carbon?
Las funciones integradas de PHP para trabajar con fechas (date(), strtotime(), DateTime) a menudo requieren código extenso y son difíciles de leer. Carbon resuelve estos problemas:
- Métodos intuitivos:
->addDays(),->subMonths(),->diffForHumans(). - Localización y salida de formatos "humanos" (por ejemplo, "hace 2 días").
- Trabajo sencillo con zonas horarias.
- Objetos inmutables para un trabajo seguro.
Instalación
Instale Carbon a través de Composer:
composer require nesbot/carbonDespués de la instalación, incluya la biblioteca:
<?php
require 'vendor/autoload.php';
use Carbon\\Carbon;Funciones principales con ejemplos
1. Creación de fechas
// Fecha y hora actual
$now = Carbon::now();
// Desde una cadena
$date = Carbon::parse('2025-03-15');
// Desde un formato
$date = Carbon::createFromFormat('Y-m-d', '2025-03-15');2. Manipulaciones con fechas
$date = Carbon::now();
// Añadir 7 días
$date->addDays(7);
// Restar 1 mes
$date->subMonth();
// Inicio del mes
$date->startOfMonth();3. Diferencia entre fechas
$start = Carbon::parse('2025-01-01');
$end = Carbon::parse('2025-12-31');
// Número de días
$days = $start->diffInDays($end); // 364
// Formato humano
echo $start->diffForHumans($end); // "11 meses después"4. Formateo
$date = Carbon::now();
echo $date->toDateString(); // 2025-03-15
echo $date->format('l jS \\of F Y'); // Saturday 15th of March 20255. Comprobación de fechas
$date = Carbon::parse('2025-03-15');
var_dump($date->isWeekend()); // true (sábado)
var_dump($date->isFuture()); // false
var_dump($date->isPast()); // true¿Cuándo usar Carbon?
Carbon es ideal para:
- Aplicaciones web donde se necesitan mostrar fechas relativas ("recién", "hace 2 horas").
- Sistemas de reservas, calendarios, planificadores de tareas.
- APIs que requieren formateo flexible de fechas para diferentes zonas horarias.
- Cualquier proyecto donde el código con fechas deba ser legible y mantenible.
Si utiliza los frameworks Laravel o Symfony, Carbon ya está integrado en ellos por defecto.
Conclusión
Carbon es una biblioteca imprescindible para cualquier desarrollador PHP. Ahorra tiempo, hace que el código sea más limpio y elimina errores típicos al trabajar con fechas. ¡Instálela en su proyecto hoy mismo!