到目前为止添加30天

时间:2016-06-06 03:57:54

标签: php

大家好,我想在我约会的30天内添加。我正在使用以下编码。

<?php
$next_due_date = date('05/06/2016', strtotime("+30 days"));
echo $next_due_date;
?>

但它只会回到“05/06/2016”!

请帮助我!

5 个答案:

答案 0 :(得分:15)

使用php的date()函数,它不准确且不可靠。

而是使用DateTime

<?php
$date = new DateTime('2016-06-06'); // Y-m-d
$date->add(new DateInterval('P30D'));
echo $date->format('Y-m-d') . "\n";
?>

Source

答案 1 :(得分:12)

请试一试。

echo date('m/d/Y',strtotime('+30 days',strtotime('05/06/2016'))) . PHP_EOL;

这将返回06/06/2016。假设您的初始日期是m / d / Y格式。如果没有,请不要担心并使用它。

echo date('d/m/Y',strtotime('+30 days',strtotime(str_replace('/', '-', '05/06/2016')))) . PHP_EOL;

这将为您提供d / m / Y格式的日期,同时假设您的初始日期为d / m / Y格式。返回05/07/2016

如果输入日期是在mysql中,你可以直接在mysql上执行这个功能,就像这样。

DATE_ADD(due_date, INTERVAL 1 MONTH);

答案 2 :(得分:4)

您需要提供d/m/Y而不是05/06/2016

之类的日期格式

尝试

$old_date = '05-06-2016';
$next_due_date = date('d-m-Y', strtotime($old_date. ' +30 days'));
echo $next_due_date;

答案 3 :(得分:4)

第一个参数是格式,而不是当前日期。

{% include "subtemplate.html" %}

演示:https://eval.in/583697

如果要将<?php $next_due_date = date('d/m/Y', strtotime("+30 days")); echo $next_due_date; 添加到特定的开始日期,请使用30 days函数的第二个参数来告诉它从哪里开始。

如果对功能如何工作有疑问,请参阅手册。

http://php.net/manual/en/function.strtotime.php {
{3}}

答案 4 :(得分:2)

$date = "1998-08-14";
$newdate = strtotime ( '30 day' , strtotime ( $date ) ) ;
$newdate = date ( 'Y-m-j' , $newdate );

echo $newdate;

Found the above code