添加日期的天数

Pan*_*ana 120 php date

我想在当前日期添加天数:我使用以下代码:

$i=30;
echo $date = strtotime(date("Y-m-d", strtotime($date)) . " +".$i."days");
Run Code Online (Sandbox Code Playgroud)

但是没有得到正确的约会我得到了这个: 2592000

请建议.

Gor*_*don 242

这应该是

echo date('Y-m-d', strtotime("+30 days"));
Run Code Online (Sandbox Code Playgroud)

strtotime

期望给出一个包含美国英语日期格式的字符串,并尝试将该格式解析为Unix时间戳(自1970年1月1日00:00:00 UTC以来的秒数),相对于现在给出的时间戳,或者如果现在没有提供当前时间.

date

使用给定的整数时间戳返回根据给定格式字符串格式化的字符串,如果没有给出时间戳,则返回当前时间.

请参阅手册页

和他们的功能签名.


Gow*_*wri 63

这可能是好的

function addDayswithdate($date,$days){

    $date = strtotime("+".$days." days", strtotime($date));
    return  date("Y-m-d", $date);

}
Run Code Online (Sandbox Code Playgroud)

  • 如果您需要快速解决方案并且不想创建函数,则上述解决方案也可以在一行中压缩.回音日期("Ymd",strtotime("+ 12days",strtotime(20130101))) (3认同)

chx*_*chx 46

$date = new DateTime();
$date->modify('+1 week');
print $date->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

要么 print date('Y-m-d H:i:s', mktime(date("H"), date("i"), date("s"), date("m"), date("d") + 7, date("Y"));


小智 9

$today=date('d-m-Y');
$next_date= date('d-m-Y', strtotime($today. ' + 90 days'));
echo $next_date;
Run Code Online (Sandbox Code Playgroud)


小智 9

如果您想要从特定日期开始的5天,您也可以添加这样的内容:

你有一个像这样的日期的变量(从输入或数据库获得或只是硬编码):

$today = "2015-06-15"; // Or can put $today = date ("Y-m-d");

$fiveDays = date ("Y-m-d", strtotime ($today ."+5 days"));

echo $fiveDays; // Will output 2015-06-20
Run Code Online (Sandbox Code Playgroud)


Bjo*_*ern 7

请记住,由于夏令时,时钟更改的变化可能会在仅计算天数时给您带来一些问题.

这是一个小PHP函数,它负责:

function add_days($date, $days) {
    $timeStamp = strtotime(date('Y-m-d',$date));
    $timeStamp+= 24 * 60 * 60 * $days;

    // ...clock change....
    if (date("I",$timeStamp) != date("I",$date)) {
        if (date("I",$date)=="1") { 
            // summer to winter, add an hour
            $timeStamp+= 60 * 60; 
        } else {
            // summer to winter, deduct an hour
            $timeStamp-= 60 * 60;           
        } // if
    } // if
    $cur_dat = mktime(0, 0, 0, 
                      date("n", $timeStamp), 
                      date("j", $timeStamp), 
                      date("Y", $timeStamp)
                     ); 
    return $cur_dat;
}
Run Code Online (Sandbox Code Playgroud)


Ins*_*ous 7

你也可以尝试:

$date->modify("+30 days");


小智 6

您可以通过操纵时间码或使用strtotime()来完成.这是一个使用strtotime的例子.

$ data ['created'] = date('Ymd H:i:s',strtotime("+ 1周"));


Lax*_*n13 6

你可以使用strtotime()
$data['created'] = date('Y-m-d H:m:s', strtotime('+1 week'));


Fab*_*zio 6

我知道这是一个老问题,但对于PHP <5.3你可以试试这个:

$date = '05/07/2013';
$add_days = 7;
$date = date('Y-m-d',strtotime($date) + (24*3600*$add_days)); //my preferred method
//or
$date = date('Y-m-d',strtotime($date.' +'.$add_days.' days');
Run Code Online (Sandbox Code Playgroud)


mqc*_*hen 5

您可以使用PHP内置的DateTime类.它有一个名为"add"的方法,以及它的使用方法在手册中有详尽的说明:http://www.php.net/manual/en/datetime.add.php

但是它需要PHP 5.3.0.


May*_*ure 5

$date = "04/28/2013 07:30:00";

$dates = explode(" ",$date);

$date = strtotime($dates[0]);

$date = strtotime("+6 days", $date);

echo date('m/d/Y', $date)." ".$dates[1];
Run Code Online (Sandbox Code Playgroud)