我怎样才能获得下周的日期?

col*_*web 6 php

问题

我使用下面的代码来获取下周的日期和第二周的日期.它适用于前几个记录,但后来开始给予1970年.

如果开始日期是12/01/2013,它会显示我的coorect结果:

下周:2013年1月19日

第二周:2013年1月26日

但是在另一个记录中,日期是16/05/2013,它显示如下

下周:1970年1月8日

第二周:1970年1月15日

请指导我可能出错的地方?

    //Date of when game started
    $starts_on = '12/01/2013';    

    //Next week's date from start date
    $next_week = strtotime(date("d/m/Y", strtotime($starts_on)) . "+1 week");
    $next_week = date('d/m/Y', $next_week);

    //Second week's date from start date
    $second_week = strtotime(date("d/m/Y", strtotime($starts_on)) . "+2 week");
    $second_week = date('d/m/Y', $second_week);

    echo $starts_on.", ".$next_week.", ".$second_week;
Run Code Online (Sandbox Code Playgroud)

Ved*_*ego 5

您使用的格式日期错误.查看strtotime文档中的注释:

通过查看各个组件之间的分隔符来消除m/d/y或dmy格式的日期:如果分隔符是斜杠(/),则假设为美国m/d/y; 而如果分隔符是破折号( - )或点(.),则假定为欧洲dmy格式.

进一步检查文档:

不建议使用此函数进行数学运算.这是更好地使用DateTime::add()DateTime::sub()在PHP 5.3及更高版本,或DateTime::modify()在PHP 5.2.