Calcular una fecha en el futuro o pasado

PHP:
Calcular una fecha en el futuro o pasado

Cómo Hacerlo:

Para calcular una fecha en el futuro o pasado, PHP ofrece una clase potente: DateTime. Vamos a ver cómo se utiliza:

<?php
// Fecha actual
$fecha = new DateTime();

// Añadir 10 días
$fecha->modify('+10 days');
echo $fecha->format('Y-m-d') . PHP_EOL;

// Restar 1 mes
$fecha->modify('-1 month');
echo $fecha->format('Y-m-d') . PHP_EOL;

// Calcular fecha para el próximo viernes
$fecha->modify('next Friday');
echo $fecha->format('Y-m-d') . PHP_EOL;
?>

Si ejecutas este código:

  • La primera salida será la fecha de hoy más 10 días.
  • La segunda será la fecha resultante menos un mes.
  • La tercera será la fecha del próximo viernes a partir de la fecha resultante.

Inmersión Profunda:

Históricamente, en PHP se manipulaban las fechas con la función strtotime y se formateaban con date. Sin embargo, desde la versión 5.2, PHP introdujo la clase DateTime, que proporciona métodos más intuitivos para trabajar con fechas.

Hay alternativas a DateTime, como DateInterval y DatePeriod, para tareas más complejas. Así, DateTime sigue siendo la solución más simple para cálculos directos de fechas.

Cuando se trabaja con DateTime, hay que tener en cuenta las zonas horarias. PHP utiliza la zona horaria configurada en el servidor por defecto, pero se puede especificar con setTimezone.

Otro detalle importante es la inmutabilidad. Desde PHP 5.5, existe DateTimeImmutable, que funciona igual que DateTime, pero no modifica el objeto original al realizar operaciones, lo que ayuda a prevenir errores en aplicaciones grandes.

Ver También: