如何在Php中将日期增加一天?

时间:2016-08-24 06:18:13

标签: php

我正在使用这种语法增加一天以上,但是当我把这种格式时,它仍然给我错误的日期。 ' 01/01/1970' 但我想要这样的格式和日期' 25/08/2016'。

$today = '24/08/2016';
$nextday = strftime("%d/%m/%Y", strtotime("$today +1 day"));

所以,请帮助我如何做到这一点。高于...

5 个答案:

答案 0 :(得分:4)

您可以使用strtotime

$your_date = strtotime("1 day", strtotime("2016-08-24"));
$new_date = date("Y-m-d", $your_date);

希望它会对你有所帮助。

答案 1 :(得分:2)

重要的是要注意日期中对-/的不同解释。如果您使用- php将其确定为DD-MM,如果您使用/ php将确定它为MM-DD。 因此,您需要使用-代替/

<?php

$today = '24-08-2016';
echo $nextday = date("d-m-Y", strtotime("$today +1 day"));

?>

答案 2 :(得分:2)

如果您想使用DateTime:

$today      = '24/08/2016';    
$nextDay    = DateTime::createFromFormat('d/m/Y', $today)
                ->add(new DateInterval('P1D'))
                ->format('d/m/Y');

答案 3 :(得分:1)

您应该替换/ with -

  

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

参考:http://php.net/manual/en/function.strtotime.php

试试这个:

$today = '24/08/2016';
$today = str_replace('/', '-', $today);
$today = date('Y-m-d', strtotime($today));
$nextday = date("d/m/Y", strtotime($today. "+1 day")); // Output: 25/08/2016

答案 4 :(得分:1)

请使用以下代码

<?php
  $today = '24/08/2016';
  $today = explode('/',$today);
  $nextday = date('d/m/Y',mktime(0,0,0,$today[1],$today[0]+1,$today[2])));
?>