Trabajo con fechas en PHP: biblioteca Carbon

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿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/carbon

Despué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 2025

5. 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!

Recommendations