0

这个要死我了。

我正在尝试编写一个小函数,它可以简单地输出两天后的日期。我正在使用以下代码(在 PHP 模拟器中)尝试使其工作:

echo date('d/m/Y', mktime(0, 0, 0, date("d")+2, date("m"), date("Y")));

我得到的输出是03/07/2014,显然是错误的日期(我希望得到03/17/2014)。

让我难过的是当我尝试

echo date("Y");

我得到正确的输出,2013.

破坏我的代码的日期函数内部发生了什么?

4

2 回答 2

4

你有向后的dayandmonth参数:mktime()

int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]])

因此,您正在寻找:

echo date('d/m/Y', mktime(0, 0, 0, date("m"), date("d") + 2, date("Y")));
于 2013-03-17T21:06:05.197 回答
4

有更简单的方法可以做到这一点。DateTime使处理日期比mktime()和更容易date()

$now = new DateTime();
$now->modify('+2 days');
$two_days = $now->format('m/d/Y');

看到它在行动

于 2013-03-17T21:06:34.953 回答