Ich möchte das heutige Datum + ein Jahr erhalten. Wie erreiche ich das mit den Datumsfunktionen von PHP?
PHP-Datum; Wie finde ich das nächste Jahr?
Testadmin
echo date('Y', strtotime('+1 year'));
Gordon
Sie können verwenden strtotime
und date
$date="2010-09-16";
echo date('Y-m-d', strtotime("+12 months $date"));
// 2011-09-16
Nebenbei bemerkt: DateTime-Fragen wie diese wurden immer wieder beantwortet, sodass Sie mit der Suchfunktion leicht herausgefunden haben könnten, wie Sie ein Datum hinzufügen können.
fabrik
Von PHP Dokumentation:
<?php
$date = new DateTime($your_supposed_date);
$date->add(new DateInterval('P1Y'));
echo $date->format('Y-m-d') . "\n";
?>
Gordons viel sauberere Version (Danke!):
<?php
$date = new DateTime("+12 months $theDate");
echo $date->format('Y-m-d') . "\n";
?>
-
Obwohl richtig und gut, beachten Sie das
DateTime::__construct
verwendet den gleichen Parsing-Mechanismus wiestrtotime
also kannst du das auch$date = new DateTime("+12 months $theDate"); echo $date->format('Y-m-d') . "\n";
– Gordon
16. September 2010 um 7:24 Uhr
$Ad_year = 2015-10-20
<?php echo $Ad_year + 1?>
Result 2016
Die kürzeste Version:
echo (int)date('Y') + 1;
-
Hinweis: Eine Typumwandlung ist nicht erforderlich.
– ein Progger
6. September 2019 um 7:12 Uhr
-
Wenn Sie streng sein wollen, erhalten Sie diesen Fehler
Binary operation "+" between string and 1 results in an error.
: phpstan.org/r/9f0842d1-8097-4dfd-a986-010a6e85670b– Mariyo
6. September 2019 um 7:38 Uhr
Gemeinschaft
Sie könnten die neuen Datetime- und Datetime_Intervall-Klassen verwenden, die in den späteren PHP 5-Versionen eingeführt wurden.
Ich habe einmal eine Antwort in dieser Frage gepostet. Vielleicht hilft es dir 🙂
Der Vorteil ist, dass diese Klasse auch auf Schaltsekunden und Schaltjahre, Zeitzonen usw. prüft.
-
Hinweis: Eine Typumwandlung ist nicht erforderlich.
– ein Progger
6. September 2019 um 7:12 Uhr
-
Wenn Sie streng sein wollen, erhalten Sie diesen Fehler
Binary operation "+" between string and 1 results in an error.
: phpstan.org/r/9f0842d1-8097-4dfd-a986-010a6e85670b– Mariyo
6. September 2019 um 7:38 Uhr
Flasche
Wenn Sie mit Zeitstempeln arbeiten
echo time()+60*60*24*365
Mögliches Duplikat von Wie zeige ich ein Datum an, indem ich ein paar Monate hinzufüge?
– Gordon
16. September 2010 um 7:15 Uhr