这个是杀了我。
我正在尝试编写一个简单的函数,简单地输出日期两天后的日期。我正在使用以下代码(在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
。
破坏我的代码的日期函数中发生了什么?
答案 0 :(得分:4)
向mktime()
向后day
和month
个参数:
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")));
答案 1 :(得分:4)
有更简单的方法可以做到这一点。 DateTime比mktime()
和date()
更容易处理日期。
$now = new DateTime();
$now->modify('+2 days');
$two_days = $now->format('m/d/Y');