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


How can I increment a date by one day in Php?

我使用这个语法来增加一天以上,但是当我把这个格式仍然给我错误的日期像这样。"01/01/1970"但我想要这样的格式和日期"25/08/2016"。

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

所以请告诉我我该怎么做。提前谢谢。

可以使用strtotime。

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

如果你想使用DateTime:

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

重要的是要注意-/在日期中的不同解释。如果您使用-, php将确定它是DD-MM,如果您使用/, php将确定它是MM-DD。所以你需要使用-而不是/

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

见下面完美的工作代码

<?php
    echo $startDate = date('Y-m-d H:i:s'); echo "<br/>";
    echo $nextDate = date("Y-m-d H:i:s", strtotime("$startDate +1 day"));
?>

你应该用-

代替/

m/d/y或d-m-y格式的日期通过查看各个组件之间的分隔符来消除歧义:如果分隔符是斜杠(/),则假定为美式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

请使用下面的代码

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