php日期加上1年输出日期

php日期加上1年输出日期,php,Php,我想为$exdate的值向$joindate添加一年 php代码如下所示: date_default_timezone_set('UTC'); $joindate = date("d/m/Y"); $exdate = date("d/m/Y", strtotime(date("d/m/Y", strtotime($joindate)) . " + 365 day")); 但是,当我回显这两个变量时,我得到以下结果: 加入日期:2011年12月16日 交货日期:1971年1月1日 (截止

我想为
$exdate
的值向
$joindate
添加一年

php代码如下所示:

date_default_timezone_set('UTC');
$joindate = date("d/m/Y");
$exdate = date("d/m/Y",
    strtotime(date("d/m/Y", strtotime($joindate)) . " + 365 day"));
但是,当我回显这两个变量时,我得到以下结果:

加入日期:2011年12月16日
交货日期:1971年1月1日

(截止日期应为2012年12月16日)

有人知道我犯的错误在哪里吗

谢谢。

$exdate=date(“d/m/Y”,strottime(+365天))

$exdate
将是
15/12/2012
,因为2012年是闰年,有366天。

看看PHP手册中的mktime()

$joindate = date('d/m/Y');
$exdate   = date('d/m/Y', strtotime('+1 year'));
使用它,您可以向现有日期添加日、月、年、小时、分钟和秒,如下所示:

$date = "2011-12-16";
$dateTime = strtotime($date);

$day = date("d", $dateTime);
$month = date("m", $dateTime);
$year = date("Y", $dateTime) + 1;
$hour = date("H", $dateTime);
$minute = date("i", $dateTime);
$second = date("s", $dateTime);

$nextYearTime = mktime($hour, $minute, $second, $month, $day, $year);  

$nextDate = date("Y-m-d", $nextYearTime);

您还可以将此代码(或其变体)包装成一个函数以便于移植。

如果将格式更改为“m/d/Y”,您的代码也可以工作。

尝试这一行代码

$dateOneYearAdded = strtotime(date("Y-m-d", strtotime($currentDate)) . " +1 year");
echo "Date After one year: ".date('l dS \o\f F Y', $dateOneYearAdded)."<br>";
$dateOneYearAdded=strotime(日期(“Y-m-d”),strotime($currentDate))。“+1年”);
echo“一年后的日期:”.Date('lds\o\fy',添加$dateoneyeard)。“
”;
谢谢。

试试这个:

 $date = strtotime("+365 day", strtotime("2011-12-16"));
 echo date("Y-m-d", $date);

将年份添加到当前年份最简单的方法是使用intval(日期('Y'))+1。

输出为2012年12月15日,而不是我想要的2012年12月16日。这是php的某种缺陷吗?感谢您的回复。可能需要几年(366天)