将date添加到date

我想添加到当前date的天数:我正在使用以下代码:

$i=30; echo $date = strtotime(date("Ymd", strtotime($date)) . " +".$i."days"); 

但不是得到适当的date,我得到这个: 2592000

请build议。

这应该是

 echo date('Ym-d', strtotime("+30 days")); 

strtotime

希望得到一个包含美国英文date格式的string,并且将尝试将该格式parsing为Unix时间戳(自1970年1月1日00:00:00 UTC以来的秒数),相对于现在给出的时间戳,或者现在的时间,如果现在没有提供。

date

如果没有给定时间戳,则返回按给定格式string格式化的string,使用给定的整数时间戳或当前时间。

请参阅手册页

和他们的function签名。

这个可能不错

 function addDayswithdate($date,$days){ $date = strtotime("+".$days." days", strtotime($date)); return date("Ymd", $date); } 
 $date = new DateTime(); $date->modify('+1 week'); print $date->format('Ymd H:i:s'); 

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

 $today=date('dm-Y'); $next_date= date('dm-Y', strtotime($today. ' + 90 days')); echo $next_date; 

请记住,由于夏令时改变时钟的变化可能会给你一些问题,只计算日子。

这里有一个小小的PHPfunction,照顾到这一点:

 function add_days($date, $days) { $timeStamp = strtotime(date('Ym-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; } 

你也可以尝试:

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

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

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

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

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

 $date = '05/07/2013'; $add_days = 7; $date = date('Ym-d',strtotime($date) + (24*3600*$add_days)); //my preferred method //or $date = date('Ym-d',strtotime($date.' +'.$add_days.' days'); 

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

你有一个像这样的datevariables(从input或数据库获得或只是硬编码):

 $today = "2015-06-15"; // Or can put $today = date ("Ymd"); $fiveDays = date ("Ymd", strtotime ($today ."+5 days")); echo $fiveDays; // Will output 2015-06-20 

您可以使用PHP中构build的DateTime类。 它有一个名为“添加”的方法,以及它的使用方法在手册中有详细的介绍: http : //www.php.net/manual/en/datetime.add.php

但是它需要PHP 5.3.0。

 $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]; 

你可以试试这个。

 $i=30; echo date("Ymd",mktime(0,0,0,date('m'),date('d')+$i,date('Y'))); 

简单和最佳

 echo date('Ymd H:i:s')."\n"; echo "<br>"; echo date('Ymd H:i:s', mktime(date('H'),date('i'),date('s'), date('m'),date('d')+30,date('Y')))."\n"; 

尝试这个

 //add the two day $date = "**2-4-2016**"; //stored into date to variable echo date("dmY",strtotime($date.**' +2 days'**)); //print output **4-4-2016** 

使用addDate()函数来添加或减去天,月或年(您也需要使用辅助函数reformatDate()

 /** * $date self explanatory * $diff the difference to add or subtract: eg '2 days' or '-1 month' * $format the format for $date **/ function addDate($date = '', $diff = '', $format = "d/m/Y") { if (empty($date) || empty($diff)) return false; $formatedDate = reformatDate($date, $format, $to_format = 'Ymd H:i:s'); $newdate = strtotime($diff, strtotime($formatedDate)); return date($format, $newdate); } //Aux function function reformatDate($date, $from_format = 'd/m/Y', $to_format = 'Ym-d') { $date_aux = date_create_from_format($from_format, $date); return date_format($date_aux,$to_format); } 

注意:只适用于php> = 5.3

使用下面的代码。

 <?php echo date('Ym-d', strtotime(' + 5 days')); ?> 

参考从这里find – 如何在PHP中将date添加到当前date

 //Set time zone date_default_timezone_set("asia/kolkata"); $pastdate='2016-07-20'; $addYear=1; $addMonth=3; $addWeek=2; $addDays=5; $newdate=date('Ym-d', strtotime($pastdate.' +'.$addYear.' years +'.$addMonth. ' months +'.$addWeek.' weeks +'.$addDays.' days')); echo $newdate; 

尽pipe这是一个古老的问题,但这样做的方式将需要许多情况下,似乎是强大的。 你需要有PHP 5.3.0或以上版本。

 $EndDateTime = DateTime::createFromFormat('d/m/Y', "16/07/2017"); $EndDateTime->modify('+6 days'); echo $EndDateTime->format('d/m/Y'); 

你可以有任何types的datestring格式,这将工作。