添加日期的天数

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

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

但我得到的不是正式的约会,而是这个: 2592000

请建议。

405356 次浏览

这应该是

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

strtotime

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

date

使用给定的整数时间戳或当前时间(如果没有给定时间戳)返回根据给定格式字符串格式化的字符串。

请参阅

以及它们的功能特征。

记住,因为夏时制而改变的时钟在计算日子时可能会给你带来一些问题。

下面是一个小的 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;
}

您可以使用 PHP 内置的 DateTime 类。它有一个名为“ add”的方法,如何使用它在手册中得到了充分的演示: http://www.php.net/manual/en/datetime.add.php

但是它需要 PHP 5.3.0。

你也可以试试:

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

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

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

您可以通过操作时间码或使用 Strtotime ()来完成。

$data [‘ create’] = date (‘ Y-m-d H: i: s’,strtotime (“ + 1 week”)) ;

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

这个可能不错

function addDayswithdate($date,$days){


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


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

我知道这是一个老问题,但是对于 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');

你可以试试这个。

$i=30;
echo  date("Y-m-d",mktime(0,0,0,date('m'),date('d')+$i,date('Y')));
$today=date('d-m-Y');
$next_date= date('d-m-Y', strtotime($today. ' + 90 days'));
echo $next_date;

简单明了

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

试试这个

你也可以像这样添加,如果你想从一个特定的日期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

使用这个 addDate ()函数可以添加或减少天、月或年(您还需要辅助函数 reformDate ())

/**
* $date self explanatory
* $diff the difference to add or subtract: e.g. '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 = 'Y-m-d H:i:s');
$newdate = strtotime($diff, strtotime($formatedDate));
return date($format, $newdate);
}
//Aux function
function reformatDate($date, $from_format = 'd/m/Y', $to_format = 'Y-m-d') {
$date_aux = date_create_from_format($from_format, $date);
return date_format($date_aux,$to_format);
}

注意: 只适用于 php > = 5.3

使用以下代码。

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

参考已经从这里发现-如何在 PHP 中将日期添加到当前日期

//add the two day


$date = "**2-4-2016**"; //stored into date to variable


echo date("d-m-Y",strtotime($date.**' +2 days'**));


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

尽管这是一个古老的问题,但是这种方法可以在很多情况下使用,而且看起来很有效。您需要 PHP 5.3.0或更高版本。

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

您可以为日期字符串使用任何类型的格式,这样就可以了。