DateTime::sub
DateTime::sub
date_sub
(PHP 5 >= 5.3.0, PHP 7)
DateTime :: sub - date_sub - 从DateTime对象中减去天数,月数,年数,小时数,分钟数和秒数
描述
面向对象的风格
public DateTime DateTime::sub ( DateInterval $interval )
程序风格
DateTime date_sub ( DateTime $object , DateInterval $interval )
从指定的DateTime对象中减去指定的DateInterval对象。
参数
object
仅限过程样式:由date_create()返回的DateTime对象。该函数修改这个对象。
interval
DateInterval对象
返回值
返回方法链接或FALSE
失败时的DateTime对象。
例子
示例 #1 DateTime::sub() example
面向对象的风格
<?php
$date = new DateTime('2000-01-20'
$date->sub(new DateInterval('P10D')
echo $date->format('Y-m-d') . "\n";
?>
程序风格
<?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'
?>
上面的例子会输出:
2000-01-10
示例 #2 Further DateTime::sub() examples
<?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";
?>
上面的例子将输出:
2000-01-19 13:59:30
1992-08-15 19:56:58
例#3当减去几个月时要小心
<?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";
?>
上面的例子将输出:
2001-03-30
2001-03-02
注意
使用PHP 5.2时,DateTime :: modify()是一种替代方法。