PHP-Datum 5 Jahre zum aktuellen Datum hinzufügen

71

Ich habe diesen PHP-Code:

$end=date('Y-m-d');

Ich benutze es, um das aktuelle Datum zu erhalten, und ich brauche das Datum 5 Jahre in der Zukunft, so etwas wie:

$end=date('(Y + 5)-m-d');

Wie kann ich das machen?

Brief
quelle
Mögliches Duplikat von Hinzufügen eines Jahres zur Datumszeit mit PHP
Rick Hoving
Wird am 29. Februar in einem Schaltjahr etwas schrullig, wenn Sie plötzlich den 1. März bekommen - seien Sie sich solcher Seltsamkeiten bewusst, wenn Sie versuchen, Daten zu manipulieren
Mark Baker

Antworten:

156

Versuche es mit:

$end = date('Y-m-d', strtotime('+5 years'));
hsz
quelle
3
Hallo, ich muss dieses Beispiel verwenden, um einem Datum 1 Jahr hinzuzufügen, aber ich habe bereits Variablen: $invoicedate = $_POST['invdate']; $invdate = date ("Y-m-d", strtotime($invoicedate));Würde ich dann eine dritte Zeile hinzufügen $due = date('Y-m-d', strtotime($invdate,'+1 year'));?
Adrian
25

Das Ändern von Datumsangaben basierend auf diesem Beitrag
strtotime () ist sehr leistungsfähig und ermöglicht es Ihnen, Datumsangaben auch mit ihren relativen Ausdrücken einfach zu ändern / zu transformieren:

Prozedural

    $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

Terminzeit

    $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

Das Zeug, das Sie zu strtotime () werfen können, ist ziemlich überraschend und sehr menschlich lesbar. Schauen Sie sich dieses Beispiel für Dienstag nächste Woche an.

Verfahren

    $t = strtotime("Tuesday next week");
    echo date('r', $t) . PHP_EOL; // returns: Tue, 10 May 2011 00:00:00 +0100

Terminzeit

    $dt = new DateTime("Tuesday next week");
    echo $dt->format('r') . PHP_EOL; // returns: Tue, 10 May 2011 00:00:00 +0100

Beachten Sie, dass diese obigen Beispiele relativ zur aktuellen Zeit zurückgegeben werden. Die vollständige Liste der Zeitformate, die strtotime () und der DateTime-Konstruktor verwenden, ist auf der Seite PHP-unterstützte Datums- und Zeitformate aufgeführt .

Ein anderes Beispiel, das für Ihren Fall geeignet ist, könnte sein: basierend auf diesem Beitrag

    <?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));
    ?>
Gadoma
quelle
13

Verwenden Sie diesen Code, um einem bestimmten Datum Jahre oder Monate oder Tage oder Stunden oder Minuten oder Sekunden hinzuzufügen

 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

Sie können auch das Ersetzen von + zu - subtrahieren.

RN Kushwaha
quelle
7
       $date = strtotime($row['timestamp']);
       $newdate = date('d-m-Y',strtotime("+1 year",$date));
Nirav
quelle
5

Mit Carbon ist es sehr, sehr einfach. $date = "2016-02-16"; // Or Your date $newDate = Carbon::createFromFormat('Y-m-d', $date)->addYear(1);

Bijaya Prasad Kuikel
quelle
Die Kohlenstoffklasse und ihre Methoden gehören zu einem bestimmten Rahmenwerk (Laravel). In der gestellten Frage finden wir keinen Rahmenwerknamen, sondern sie werden mithilfe von PHP-Datumsfunktionen gestellt. Ich denke, deshalb hast du keine Daumen hoch bekommen :)
K Arun Singh
Tatsächlich ist Kohlenstoff nicht von einem bestimmten Rahmen abhängig. Jeder kann Kohlenstoff über einen Komponisten einholen und verwenden. Es ist eine einfachere Möglichkeit, mit dem Problem umzugehen, wenn die Funktionalität von PHP nicht überprüft werden soll.
Bijaya Prasad Kuikel
1

Verwenden Sie Folgendes, um dem heutigen Datum ein Jahr hinzuzufügen:

$oneYearOn = date('Y-m-d',strtotime(date("Y-m-d", mktime()) . " + 365 day"));
Deepu
quelle
Das war großartig, vielen Dank :) Ich akzeptiere ein paar Momente später
Brief
@Letter Schau dir meine Antwort an - es ist viel einfacher.
Hsz
0

Verwendung von Kohlenstoff :

$dt = Carbon::now();
echo $dt->addYears(5); 
Ciruvan
quelle
0

Versuche dies ,

$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;
Abhi
quelle
0

Versuche dies:

$yearnow= date("Y");
$yearnext=$yearnow+1;
echo date("Y")."-".$yearnext;
GoldTechnia Pvt. GmbH.
quelle
Nicht ganz das, was gefragt wurde.
Wonce
0

Probieren Sie diesen Code aus und fügen Sie die nächsten Tage, Monate und Jahre hinzu

// 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>';
}
Rahul Gandhi
quelle