Função PHP date_sub ()

Definição e Uso

Esta função é um alias de DateTime :: sub () . Esta função aceita um objeto DateTime e um objeto DateInterval, subtrai o intervalo especificado para o DateTime fornecido.

Sintaxe

date_sub$object, $interval)

Parâmetros

Sr. Não Parâmetro e Descrição
1

object(Mandatory)

Este é um objeto DateTime especificando / representando a data da qual você precisa subtrair o intervalo de tempo.

2

interval (Mandatory)

Este é um objeto DateInterval que especifica o intervalo a ser subtraído.

Valores Retornados

A função PHP date_sub () retorna um objeto DateTime, subtraindo o intervalo dado dele. Em caso de falha, esta função retorna o valor booleano falso .

Versão PHP

Esta função foi introduzida pela primeira vez no PHP versão 5.3.0 e funciona com todas as versões posteriores.

Exemplo

O exemplo a seguir demonstra o uso da função 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);
?>

Isso produzirá o seguinte resultado -

24-09-2019 13:59:30

Exemplo

O exemplo a seguir cria um intervalo usando esta função e subtrai o intervalo criado de uma data -

<?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);   
?>

Isso produzirá o seguinte resultado -

05-12-1986

Exemplo

Agora, vamos tentar adicionar intervalo com anos, meses e dias -

<?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);
?>

Isso produzirá o seguinte resultado -

20-07-1960

Exemplo

<?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'));
?>

Isso produz o seguinte resultado -

08-12-1994