略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: date_sub

2024-12-22

date_sub

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_sub别名 DateTime::sub()

说明

此函数是该函数的别名: DateTime::sub()

add a noteadd a note

User Contributed Notes 4 notes

up
2
vitkor dot kruglikov at gmail dot com
7 years ago
It can be unclear for someone how to use this function.
Here is the example:

$date=date_create("2013-03-15");
date_sub($date,date_interval_create_from_date_string("40 days"));
echo date_format($date,"Y-m-d");
up
0
fpradove at gmail dot com
4 years ago
In version 5.6.31 the variable $ today is passed by reference in the function date_sub () and the interval is also applied

<?php
$today
= date_create(date('Y-m-d'));
$yesterday = date_sub($today, date_interval_create_from_date_string("1 days"));

        echo
var_dump($today);
        echo
var_dump($yesterday)
?>
up
-2
Thomas LEDUC
7 years ago
To glue to the OOP, it's better to use it with DateInterval::createFromDateString

<?php
$dateB
= new DateTime('2020-12-20');
$dateA = $dateB->sub(DateInterval::createFromDateString('10 days'));
?>

more detail here :
<?php
public static function createFromDateString ($time) {}
?>
up
-4
Jonathan Poissant
11 years ago
You cannot replace date_sub('2000-01-20') by DateTime::sub('2000-01-20') because DateTime::sub is not static. You have to create the DateTime object first.

Example:

<?php $dateA = date_sub('2000-01-20', date_interval_create_from_date_string('10 days')); ?>

will be replace by
<?php
$dateB
= new DateTime('2000-01-20');
$dateA = $dateB->sub(date_interval_create_from_date_string('10 days'));
?>

官方地址:https://www.php.net/manual/en/function.date-sub.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3