📜  PHP |日期时间 sub()函数(1)

📅  最后修改于: 2023-12-03 15:33:36.201000             🧑  作者: Mango

PHP | 日期时间 sub() 函数

sub() 函数是 PHP 8 中添加的新日期时间函数,用于对日期时间进行减法运算。它可以将一个时间间隔从指定的日期时间中减去,并返回新的日期时间对象。

语法
public DateTimeInterface::sub(DateInterval $interval): DateTimeInterface
参数
  • $interval:要减去的时间间隔,必须是 DateInterval 的实例。
返回值
  • 返回一个新的日期时间对象。
示例
$date = new DateTime('2021-01-01 00:00:00');
$interval = new DateInterval('P1D');
$newDate = $date->sub($interval);

echo $date->format('Y-m-d H:i:s');  // 输出:2020-12-31 00:00:00
echo $newDate->format('Y-m-d H:i:s');  // 输出:2020-12-30 00:00:00

在这个例子中,我们创建了一个 DateTime 对象,其日期时间为 2021-01-01 00:00:00。我们使用 sub() 函数将一个时间间隔(1 天)从该日期时间中减去,并获得一个新的 DateTime 对象。最后,我们分别输出了两个日期时间对象的格式化字符串。

注意事项
  • $interval 参数必须是一个有效的时间间隔,否则会抛出一个异常。
  • 如果将一个负数时间间隔传递给 sub() 函数,它实际上将执行加法运算。例如,如果我们将 -P1D 传递给上面的示例,那么输出将是 2021-01-02 00:00:00
结论

sub() 函数是一个非常方便的日期时间函数,可以帮助程序员轻松地执行日期时间计算。如果您经常需要处理日期时间,那么请务必尝试一下 sub() 函数。