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

Manuale di base PHP

Manuale avanzato PHP

PHP & MySQL

Manuale di riferimento PHP

Uso e esempio della funzione date_sub() PHP

Manuale delle funzioni di data e ora PHP

La funzione date_sub() sottrae una quantità specifica di giorni, mesi, anni, ore, minuti e secondi da un oggetto DateTime.

Definizione e uso

Questa funzione èDateTime::sub()Alias. La funzione accetta un oggetto DateTime e un oggetto DateInterval, sottraendo l'intervallo di tempo specificato al DateTime fornito.

Sintassi

date_sub$oggetto, $intervallo)

Parametro

Numero di sequenzaParametri e descrizione
1

oggetto (obbligatorio)

Questo è un oggetto DateTime, che specifica la data da cui subtractare l'intervallo di tempo.

2

intervallo (obbligatorio)

Questo è un oggetto DateInterval, che specifica l'intervallo da sottrarre.

返回值

PHP date_sub()函数返回一个DateTime对象,从中减去给定的间隔。如果失败,此函数将返回布尔值false

PHP版本

此函数最初是在PHP版本5.3.0中引入的,并且可以在所有更高版本中使用。

在线示例

以下示例演示了date_sub()函数的用法。-

<?php
   //创建一个DateTime对象
   $date = date_create("2019-09-25");
   //向日期添加时间间隔
   $res = date_sub($date, new DateInterval('PT10H30S'));   
   //格式化日期以将其打印
   $format = date_format($res, "Y-m-d H:i:s");
   print($format);
?>
测试看看‹/›

输出结果

2019-09-24 13:59:30

在线示例

以下示例使用此函数创建间隔,并从日期减去创建的间隔

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

输出结果

1986-12-06

在线示例

现在,让我们尝试添加具有年,月和日的间隔-

<?php
   //创建DateTime对象
   $date = date_create("1989-09-26");
   //将间隔添加到日期
   $res = date_sub($date, new DateInterval('P29Y2M5D'));   
   //格式化日期以将其打印
   $format = date_format($res, "Y-m-d");
   print($format);
?>
测试看看‹/›

输出结果

1960-07-21

在线示例

从日期1995-05-07中减去 150 天:

<?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'));
?>
测试看看‹/›

这产生以下结果-

1994-12-08