Función PHP date_sub ()

Definición y uso

Esta función es un alias de DateTime :: sub () . Esta función acepta un objeto DateTime y un objeto DateInterval, resta el intervalo especificado al DateTime dado.

Sintaxis

date_sub$object, $interval)

Parámetros

No Señor Descripción de parámetros
1

object(Mandatory)

Este es un objeto DateTime que especifica / representa la fecha de la que necesita restar el intervalo de tiempo.

2

interval (Mandatory)

Este es un objeto DateInterval que especifica el intervalo a restar.

Valores devueltos

La función PHP date_sub () devuelve un objeto DateTime, restando el intervalo dado. En caso de falla, esta función devuelve el valor booleano falso .

Versión PHP

Esta función se introdujo por primera vez en la versión 5.3.0 de PHP y funciona con todas las versiones posteriores.

Ejemplo

El siguiente ejemplo demuestra el uso de la función date_sub () . -

<?php
   //Creating a DateTime object
   $date = date_create("25-09-2019");
   //Adding interval to the date
   $res = date_sub($date, new DateInterval('PT10H30S'));   
   //formatting the date to print it
   $format = date_format( $res, "d-m-Y H:i:s");
   print($format);
?>

Esto producirá el siguiente resultado:

24-09-2019 13:59:30

Ejemplo

El siguiente ejemplo crea un intervalo usando esta función y resta el intervalo creado de una fecha:

<?php
   $date = date_create("25-09-1989");
   $interval = date_interval_create_from_date_string('1025 days');
   $res = date_sub($date, $interval);   
   $format = date_format( $res, "d-m-Y");
   print($format);   
?>

Esto producirá el siguiente resultado:

05-12-1986

Ejemplo

Ahora, intentemos agregar un intervalo con años, meses y días:

<?php
   //Creating a DateTime object
   $date = date_create("25-09-1989");
   //Adding interval to the date
   $res = date_sub($date, new DateInterval('P29Y2M5D'));   
   //formatting the date to print it
   $format = date_format( $res, "d-m-Y");
   print($format);
?>

Esto producirá el siguiente resultado:

20-07-1960

Ejemplo

<?php
   $date = date_create('1995-05-07');
   $interval = date_interval_create_from_date_string('150 days');
   $date->sub($interval);
   print($date -> format('d-m-Y'));
?>

Esto produce el siguiente resultado:

08-12-1994