如何在 PHP 中添加天数到日期
Ralfh Bryan Perez
2023年1月30日
在 PHP 中操作 date
字符串可以通过多种方式完成,可以添加或减去小时、天数、月份、年份等。PHP 提供了不同的函数,例如 DateTime
,date_add
和 strtotime()
和 date()
。
在 PHP 中通过 DateTime()
中 add
方法添加天数
使用 PHP 5.3 和更高版本,DateTime
对象及其 add
方法是添加天数的一种方法。与 strtotime
和 date
相比,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()
增加了日期值。