PHP date_sub() 函数用法及示例

PHP Date & Time 函数手册

date_sub()函数对一个 DateTime 对象减去一定量的 日、月、年、小时、分钟和秒。

定义和用法

该函数是DateTime::sub()的别名。该函数接受一个DateTime对象和一个DateInterval对象,将指定的时间间隔减去给定的DateTime。

语法

date_sub$object, $interval)

参数

序号参数及说明
1

object(必需)

这是一个DateTime对象,指定/表示您需要从中减去时间间隔的日期。

2

interval (必需)

这是一个DateInterval对象,指定要减去的间隔。

返回值

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