我正在使用这种语法增加一天以上,但是当我把这种格式时,它仍然给我错误的日期。 ' 01/01/1970' 但我想要这样的格式和日期' 25/08/2016'。
$today = '24/08/2016';
$nextday = strftime("%d/%m/%Y", strtotime("$today +1 day"));
所以,请帮助我如何做到这一点。高于...
答案 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])));
?>