首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DateTime::sub

(PHP 5 >= 5.3.0, PHP 7)

DateTime :: sub - date_sub - 从DateTime对象中减去天数,月数,年数,小时数,分钟数和秒数

描述

面向对象的风格

代码语言:javascript
复制
public DateTime DateTime::sub ( DateInterval $interval )

程序风格

代码语言:javascript
复制
DateTime date_sub ( DateTime $object , DateInterval $interval )

从指定的DateTime对象中减去指定的DateInterval对象。

参数

object

仅限过程样式:由date_create()返回的DateTime对象。该函数修改这个对象。

interval

DateInterval对象

返回值

返回方法链接或FALSE失败时的DateTime对象。

例子

示例 #1 DateTime::sub() example

面向对象的风格

代码语言:javascript
复制
<?php
$date?=?new?DateTime('2000-01-20');
$date->sub(new?DateInterval('P10D'));
echo?$date->format('Y-m-d')?.?"\n";
?>

程序风格

代码语言:javascript
复制
<?php
$date?=?date_create('2000-01-20');
date_sub($date,?date_interval_create_from_date_string('10?days'));
echo?date_format($date,?'Y-m-d');
?>

上面的例子会输出:

代码语言:javascript
复制
2000-01-10

示例 #2 Further DateTime::sub() examples

代码语言:javascript
复制
<?php
$date?=?new?DateTime('2000-01-20');
$date->sub(new?DateInterval('PT10H30S'));
echo?$date->format('Y-m-d?H:i:s')?.?"\n";

$date?=?new?DateTime('2000-01-20');
$date->sub(new?DateInterval('P7Y5M4DT4H3M2S'));
echo?$date->format('Y-m-d?H:i:s')?.?"\n";
?>

上面的例子将输出:

代码语言:javascript
复制
2000-01-19 13:59:30
1992-08-15 19:56:58

例#3当减去几个月时要小心

代码语言:javascript
复制
<?php
$date?=?new?DateTime('2001-04-30');
$interval?=?new?DateInterval('P1M');

$date->sub($interval);
echo?$date->format('Y-m-d')?.?"\n";

$date->sub($interval);
echo?$date->format('Y-m-d')?.?"\n";
?>

上面的例子将输出:

代码语言:javascript
复制
2001-03-30
2001-03-02

注意

使用PHP 5.2时,DateTime :: modify()是一种替代方法。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com