date_sub()函数对一个 DateTime 对象减去一定量的 日、月、年、小时、分钟和秒。
该函数是DateTime::sub()的别名。该函数接受一个DateTime对象和一个DateInterval对象,将指定的时间间隔减去给定的DateTime。
date_sub$object, $interval)
| 序号 | 参数及说明 |
|---|---|
| 1 | object(必需) 这是一个DateTime对象,指定/表示您需要从中减去时间间隔的日期。 |
| 2 | interval (必需) 这是一个DateInterval对象,指定要减去的间隔。 |
PHP date_sub()函数返回一个DateTime对象,从中减去给定的间隔。如果失败,此函数将返回布尔值false。
此函数最初是在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