Ik heb deze PHP-code:
$end=date('Y-m-d');
Ik gebruik het om de huidige datum te krijgen, en ik heb de datum 5 jaar in de toekomst nodig, zoiets als:
$end=date('(Y + 5)-m-d');
Hoe kan ik dit doen?
Antwoord 1, autoriteit 100%
Probeer met:
$end = date('Y-m-d', strtotime('+5 years'));
Antwoord 2, autoriteit 17%
Datums wijzigengebaseerd op dit bericht
strtotime() is echt krachtig en stelt je ook in staat om datums gemakkelijk te wijzigen/transformeren met zijn relatieve uitdrukkingen:
Procedureel
$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
DateTijd
$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
De dingen die je naar strtotime() kunt gooien, is behoorlijk verrassend en heel menselijk leesbaar. Bekijk dit voorbeeld op zoek naar dinsdag volgende week.
Procedureel
$t = strtotime("Tuesday next week");
echo date('r', $t) . PHP_EOL; // returns: Tue, 10 May 2011 00:00:00 +0100
DateTijd
$dt = new DateTime("Tuesday next week");
echo $dt->format('r') . PHP_EOL; // returns: Tue, 10 May 2011 00:00:00 +0100
Houd er rekening mee dat deze voorbeelden hierboven worden geretourneerd ten opzichte van de huidige tijd.
De volledige lijst met tijdnotaties die strtotime() en de DateTime-constructor gebruiken, staat vermeld op de PHP Supported Pagina Datum- en tijdnotaties.
Een ander voorbeeld dat geschikt is voor uw geval zou kunnen zijn:gebaseerd op dit bericht
<?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));
?>
Antwoord 3, autoriteit 8%
Gebruik deze code om jaren of maanden of dagen of uren of minuten of seconden toe te voegen aan een bepaalde datum
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
Je kunt vervangende + ook aftrekken van –
Antwoord 4, autoriteit 5%
$date = strtotime($row['timestamp']);
$newdate = date('d-m-Y',strtotime("+1 year",$date));
Antwoord 5, autoriteit 3%
Het is heel erg gemakkelijk met Carbon.
$date = "2016-02-16"; // Or Your date
$newDate = Carbon::createFromFormat('Y-m-d', $date)->addYear(1);
Antwoord 6
Met behulp van Koolstof:
$dt = Carbon::now();
echo $dt->addYears(5);
Antwoord 7
Als u een jaar wilt toevoegen aan de datum van vandaag, gebruikt u het volgende:
$oneYearOn = date('Y-m-d',strtotime(date("Y-m-d", mktime()) . " + 365 day"));
Antwoord 8
U kunt hiervoor DateInterval gebruiken;
$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');
Antwoord 9
Probeer onderstaande code, ik hoop dat het nuttig voor je zal zijn
<?php
$current_date=strtotime(date('Y-m-d'));
echo $end = date('Y-m-d', strtotime('+5 years',$current_date));
?>
Antwoord 10
probeer dit,
$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;
Antwoord 11
probeer dit:
$yearnow= date("Y");
$yearnext=$yearnow+1;
echo date("Y")."-".$yearnext;
Antwoord 12
Probeer deze code en voeg de volgende dagen, maanden en jaren toe
// 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>';
}