date_sub() es una función incorporada en PHP que se usa para restar algunos días, meses, años, horas, minutos y segundos de una fecha dada. La función devuelve un objeto DateTime en caso de éxito y devuelve FALSO en caso de error.
Sintaxis:
date_sub($object, $interval)
Parámetros: La función date_sub() acepta dos parámetros como se describe a continuación:
- $objeto: es un parámetro obligatorio que especifica el objeto DateTime devuelto por date_create()
- $interval: Es un parámetro obligatorio que especifica el objeto DateInterval que queremos restar.
Valor de retorno: Devuelve un objeto DateTime después de restar el intervalo.
Los siguientes programas ilustran la función date_sub():
Programa 1:
<?php // PHP program to illustrate date_sub() function // Subtract 5 years from the 25th of June, 2018 $date = date_create('2018-06-25'); date_sub($date, date_interval_create_from_date_string('5 years')); echo date_format($date, 'Y-m-d') . "\n"; // Subtract 5 month from the 25th of June, 2018 $date = date_create('2018-06-25'); date_sub($date, date_interval_create_from_date_string('5 month')); echo date_format($date, 'Y-m-d'). "\n"; // // Subtract 5 days from the 25th of June, 2018 $date = date_create('2018-06-25'); date_sub($date, date_interval_create_from_date_string('5 days')); echo date_format($date, 'Y-m-d'); ?>
Salida :
2013-06-25 2013-01-25 2013-01-20
Programa 2: cuando se pasa una fecha no válida, la función date_sub da advertencias:
<?php // PHP program to illustrate date_sub function // date_sub function gives warning when // we passing invalid date $date = date_create('2018-25-25'); date_sub($date, date_interval_create_from_date_string('5 years')); echo date_format($date, 'Y-m-d') . "\n"; ?>
Salida :
PHP Warning: date_sub() expects parameter 1 to be DateTime, boolean given in/home
/2662efc623a406b7cb06a7320e7abf50.php on line 8 PHP Warning: date_format() expects parameter 1 to be DateTimeInterface, boolean
given in/home/2662efc623a406b7cb06a7320e7abf50.php on line 9
Referencia: http://php.net/manual/en/function.date-sub.php