English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico do PHP

Tutorial Avançado do PHP

PHP & MySQL

Manual de Referência do PHP

Uso e exemplos da função date_sub() do PHP

Manual do PHP Date & Time

A função date_sub() subtrai uma quantidade específica de dias, meses, anos, horas, minutos e segundos de um objeto DateTime.

definição e uso

essa função éDateTime::sub()apelido. A função aceita um objeto DateTime e um objeto DateInterval, subtraindo o intervalo especificado do DateTime.

sintaxe

date_sub$object, $interval)

parâmetro

número sequencialparâmetros e descrição
1

objeto (obrigatório)

este é um objeto DateTime, que especifica/representa a data da qual você precisa subtrair o intervalo de tempo.

2

intervalo (obrigatório)

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

retorno

a função PHP date_sub() retorna um objeto DateTime, subtraindo o intervalo especificado. Se falhar, a função retornará um valor booleanofalse.

versão do PHP

essa função foi inicialmente introduzida na versão do PHP5.3introduzido na versão 5.2.0 e pode ser usado em todas as versões mais recentes.

exemplo online

abaixo há um exemplo que demonstradate_sub()uso da função.-

<?php
   //criar um objeto DateTime
   $date = date_create("2019-09-25");
   //adicionar intervalo de tempo à data
   $res = date_sub($date, new DateInterval('PT10H30S'));   
   //formatear a data para imprimi-la
   $format = date_format( $res, "Y-m-d H:i:s");
   print($format);
?>
testar para ver‹/›

resultado da saída

2019-09-24 13:59:30

exemplo online

abaixo há um exemplo que usa essa função para criar intervalos e subtrai o intervalo criado da data

<?php
   $date = date_create("1989-09-26");
   $interval = date_interval_create_from_date_string('1025 dias');
   $res = date_sub($date, $interval);   
   $format = date_format( $res, "Y-m-d");
   print($format);   
?>
testar para ver‹/›

resultado da saída

1986-12-06

exemplo online

Agora, vamos tentar adicionar intervalos com ano, mês e dia-

<?php
   //criar objeto DateTime
   $date = date_create("1989-09-26");
   //adicionar intervalo à data
   $res = date_sub($date, new DateInterval('P29Y2M5D'));   
   //formatear a data para imprimi-la
   $format = date_format( $res, "Y-m-d");
   print($format);
?>
testar para ver‹/›

resultado da saída

1960-07-21

exemplo online

da data1995-05-07menos 150 Dias:

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

isto resulta em-

1994-12-08