我有这个 PHP 代码:
$end=date('Y-m-d');
我用它来得到当前的日期,我需要5年后的日期,比如:
$end=date('(Y + 5)-m-d');
我怎么能这么做?
使用以下方法将一年的日期加到今天:
$oneYearOn = date('Y-m-d',strtotime(date("Y-m-d", mktime()) . " + 365 day"));
使用 碳:
$dt = Carbon::now(); echo $dt->addYears(5);
试试:
$end = date('Y-m-d', strtotime('+5 years'));
试试这个,
$presentyear = '2013-08-16 12:00:00'; $nextyear = date("M d,Y",mktime(0, 0, 0, date("m",strtotime($presentyear )), date("d",strtotime($presentyear )), date("Y",strtotime($presentyear ))+5)); echo $nextyear;
修改日期 基于这篇文章 Strtotime ()非常强大,允许您使用它的相对表达式轻松地修改/转换日期: 程序 < br >
$dateString = '2011-05-01 09:22:34'; $t = strtotime($dateString); $t2 = strtotime('-3 days', $t); echo date('r', $t2) . PHP_EOL; // returns: Thu, 28 Apr 2011 09:22:34 +0100
$dateString = '2011-05-01 09:22:34'; $dt = new DateTime($dateString); $dt->modify('-3 days'); echo $dt->format('r') . PHP_EOL; // returns: Thu, 28 Apr 2011 09:22:34 +0100
您可以在 strtotime ()中使用的内容非常令人惊讶,而且非常具有人类可读性。看一下下周二的这个例子。 程序 < br >
$t = strtotime("Tuesday next week"); echo date('r', $t) . PHP_EOL; // returns: Tue, 10 May 2011 00:00:00 +0100
$dt = new DateTime("Tuesday next week"); echo $dt->format('r') . PHP_EOL; // returns: Tue, 10 May 2011 00:00:00 +0100
请注意,上面的这些例子是相对于现在的时间返回的。 Strtotime ()和 DateTime 构造函数所采用的时间格式的完整列表在 PHP 支持的日期和时间格式页面中列出。
另一个例子,适合您的情况可以是: 基于这篇文章
<?php //How to get the day 3 days from now: $today = date("j"); $thisMonth = date("n"); $thisYear = date("Y"); echo date("F j Y", mktime(0,0,0, $thisMonth, $today+3, $thisYear)); //1 week from now: list($today,$thisMonth,$thisYear) = explode(" ", date("j n Y")); echo date("F j Y", mktime(0,0,0, $thisMonth, $today+7, $thisYear)); //4 months from now: list($today,$thisMonth,$thisYear) = explode(" ", date("j n Y")); echo date("F j Y", mktime(0,0,0, $thisMonth+4, $today, $thisYear)); //3 years, 2 months and 35 days from now: list($today,$thisMonth,$thisYear) = explode(" ", date("j n Y")); echo date("F j Y", mktime(0,0,0, $thisMonth+2, $today+35, $thisYear+3)); ?>
使用此代码可将年、月、天、小时、分钟或秒添加到给定日期
echo date("Y-m-d H:i:s", strtotime("+1 years", strtotime('2014-05-22 10:35:10'))); //2015-05-22 10:35:10 echo date("Y-m-d H:i:s", strtotime("+1 months", strtotime('2014-05-22 10:35:10')));//2014-06-22 10:35:10 echo date("Y-m-d H:i:s", strtotime("+1 days", strtotime('2014-05-22 10:35:10')));//2014-05-23 10:35:10 echo date("Y-m-d H:i:s", strtotime("+1 hours", strtotime('2014-05-22 10:35:10')));//2014-05-22 11:35:10 echo date("Y-m-d H:i:s", strtotime("+1 minutes", strtotime('2014-05-22 10:35:10')));//2014-05-22 10:36:10 echo date("Y-m-d H:i:s", strtotime("+1 seconds", strtotime('2014-05-22 10:35:10')));//2014-05-22 10:35:11
还可以减去替换 + to-
用碳很容易。 $date = “2016-02-16”;//或你的日期 $newDate = Carbon: : createFromFormat (‘ Y-m-d’,$date)-> addYear (1) ;
$date = “2016-02-16”;//或你的日期 $newDate = Carbon: : createFromFormat (‘ Y-m-d’,$date)-> addYear (1) ;
试试这个:
$yearnow= date("Y"); $yearnext=$yearnow+1; echo date("Y")."-".$yearnext;
$date = strtotime($row['timestamp']); $newdate = date('d-m-Y',strtotime("+1 year",$date));
尝试此代码并添加下一天、下一个月和下一年
// current month: Aug 2018 $n = 2; for ($i = 0; $i <= $n; $i++){ $d = strtotime("$i days"); $x = strtotime("$i month"); $y = strtotime("$i year"); echo "Dates : ".$dates = date('d M Y', "+$d days"); echo "<br>"; echo "Months : ".$months = date('M Y', "+$x months"); echo '<br>'; echo "Years : ".$years = date('Y', "+$y years"); echo '<br>'; }
可以为此目的使用 DateInterval;
$currentDate = new \DateTime(); //creates today timestamp $currentDate->add(new \DateInterval('P5Y')); //this means 5 Years and you can now format it; $currentDate->format('Y-m-d');
<?php
$current_date=strtotime(date('Y-m-d'));
echo $end = date('Y-m-d', strtotime('+5 years',$current_date));
?>