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