In bestimmten Situationen möchte ich dem Wert meiner DATETIME-formatierten Variablen 1 Tag hinzufügen:
$start_date = date('Y-m-d H:i:s', strtotime("{$_GET['start_hours']}:{$_GET['start_minutes']} {$_GET['start_ampm']}"));
Was ist der beste Weg, dies zu tun?
time()
mitstrtotime("{$_GET['start_hours']}:{$_GET['start_minutes']} {$_GET['start_ampm']}")
.Es gibt mehr als eine Möglichkeit, dies mit DateTime zu tun, das in PHP 5.2 eingeführt wurde. Im Gegensatz
strtotime()
dazu wird die Sommerzeit und das Schaltjahr berücksichtigt.quelle
+2 day
+2 days
+2 days
Der DateTime- Konstruktor akzeptiert einen Parameter
string time
.$time
kann verschiedene Dinge sein, es muss das Datum / Uhrzeit-Format respektieren .Es gibt einige gültige Werte als Beispiele:
'now'
(der Standardwert)2017-10-19
2017-10-19 11:59:59
2017-10-19 +1day
In Ihrem Fall können Sie also Folgendes verwenden.
quelle
strtotime
diese Option , um die Zeichenfolge in einen Zeitstempel umzuwandelnz.B:
Wenn nur 1 Tag hinzugefügt wird, ist die erneute Verwendung von strtotime wahrscheinlich übertrieben.
quelle
date()
der lokalen Zeitzone wird berücksichtigt, dass die Sommerzeit gewährleistet ist.Sie können verwenden
quelle
Ich schlage vor, Zend_Date- Klassen aus Zend Framework zu verwenden . Ich weiß, es ist ein bisschen topisch, aber ich werde es so mögen :-)
quelle
Sie können Folgendes verwenden.
Sie können Tage auch als konstant festlegen und wie unten verwenden.
quelle
Verwenden der Serveranforderungszeit zum Hinzufügen von Tagen. Arbeiten wie erwartet.
25/08/19 => 27/09/19
Hier '+2 Tage', um eine beliebige Anzahl von Tagen hinzuzufügen.
quelle
Es gibt eine präzisere und intuitivere Möglichkeit, dem PHP-Datum Tage hinzuzufügen. Versteh mich nicht falsch, diese PHP-Ausdrücke sind großartig, aber du musst immer googeln, wie man sie behandelt. Ich vermisse die automatische Vervollständigung dafür.
So gehe ich gerne mit diesen Fällen um:
Für mich ist es viel intuitiver und die automatische Vervollständigung funktioniert sofort. Sie müssen nicht jedes Mal nach der Lösung googeln.
Als netter Bonus müssen Sie sich keine Gedanken über die Formatierung des resultierenden Werts machen, er ist bereits im ISO8601-Format.
Dies ist eine Baiser-Bibliothek. Weitere Beispiele finden Sie hier .
quelle