如何在 PHP 中添加天数到日期

Ralfh Bryan Perez 2023年1月30日
  1. 在 PHP 中通过 DateTime()add 方法添加天数
  2. 在 PHP 中 date_add() 添加日期
如何在 PHP 中添加天数到日期

在 PHP 中操作 date 字符串可以通过多种方式完成,可以添加或减去小时、天数、月份、年份等。PHP 提供了不同的函数,例如 DateTimedate_addstrtotime()date()

在 PHP 中通过 DateTime()add 方法添加天数

使用 PHP 5.3 和更高版本,DateTime 对象及其 add 方法是添加天数的一种方法。与 strtotimedate 相比,DateTime 支持更多的日期格式。使用对象也比任意函数容易。例如,比较两个日期时,它是直接比较的,但是在 strtotime 中,必须先将日期转换为时间戳。

例:

<?php
$oldDate = "2020-02-27";
$newDate = new DateTime($oldDate);
$newDate->add(new DateInterval('P1D')); // P1D means a period of 1 day
$fomattedDate = $date->format('Y-m-d');
?>

将输出以下代码:

echo $fomattedDate; //output: 2020-02-28

使用 DateTime() 最困难的部分是 DateInterval 对象。这接受有效的间隔规范。正确的格式以字母 P 开头,意思是 period,后跟一个整数值,然后是 D。如果间隔是时间的话,则最后的部分需要为 T

在 PHP 中结合使用 strtotime()date() 添加日期

strtotime() 是一个 PHP 函数,用于将英语文本日期描述转换为 UNIX 时间戳。strtotime 函数将接受代表日期时间的字符串值。

例:

<?php
$oldDate   = "2020-02-27";
$date1 = date("Y-m-d", strtotime($oldDate.'+ 1 days'));
$date2 = date("Y-m-d", strtotime($oldDate.'+ 2 days'));
?>

将输出以下代码:

echo $date1; //output: 2020-02-28
echo $date2; //output: 2020-02-29

上面的示例将接受格式正确的日期字符串,并使用 strtotime+1 days 返回新日期。date() 函数给出了正确的格式。

**注意:**为避免混淆,建议使用 ISO 8601 (YYYY-MM-DD) 格式。

在 PHP 中 date_add() 添加日期

在其他方法中,此方法最容易添加几天,几个月,几年,几小时,几分钟和几秒钟。

例:

$oldDate = date_create("2020-02-27"); 
date_add($oldDate, date_interval_create_from_date_string("1 day"));

在实际应用中:

echo date_format($date,"Y-m-d"); //output: 2020-02-28

上面的示例还将日期添加到日期字符串中,date_create() 创建一个 DateTime 对象。date_interval_create_from_date_string() 从设置一个 DateInterval。最后 date_add() 增加了日期值。

相关文章 - PHP Date