date_sub()

1. 定义

与函数date_add()相反,该函数对指定DateTime对象减少一定量的年、月、日、时、分、秒等时间间隔。 返回减少后的DateTime对象。

2. 语法

public DateTime::sub ( DateInterval $interval ) : DateTime

date_sub ( DateTime $object , DateInterval $interval ) : DateTime

3. 参数说明

参数 可选性 数据类型 描述
$object 必需 DateTime DateTime时间对象
$interval 必需 DateInterval 要减少的DateInterval时间间隔对象

4. 示例

<?php

// date_sub()
// 对指定`DateTime`对象减少一定量的年、月、日、时、分、秒等时间间隔

// 面向对象式
$date = new DateTime('2019-08-31');
$interval = new DateInterval('P10M');
$date->sub($interval);
echo $date->format('Y-m-d'),"\n";// 输出:2018-10-31

// 面向过程式
$date = date_create('2019-08-31');
date_sub($date, date_interval_create_from_date_string('10 days'));
echo $date->format('Y-m-d'),"\n";// 输出:2019-08-21

// 对于 DateInterval 对象来说,一般格式为大写字母 P 开头,后跟增量及增量的单位,
// 例如:P10D,表示增加十天;
// P20M,表示增加十个月
// P1Y,表示增加一年
// 类似的还有:H、M和S,分别表示时、分、秒

5. 延展阅读

  • date_add():对一个DateTime对象增加一定量的年、月、日、时、分、秒等时间间隔
  • date_diff():返回两个DateTime对象之间的时间间隔信息
  • date_modify():修改DateTime对象的值