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?



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'));

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));
    ?>

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.


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

5

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


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"));

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

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;


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>';
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.