Ich möchte einem vorhandenen Datum Zeit hinzufügen. Ich habe 2 String-Variablen:
%Vor%Ich möchte das endgültige Datum "2013-01-07 13:20:25" berechnen. Die Stunden in der Zeit können größer als 23 sein, was bedeutet, dass dieses Intervall größer als ein ganzer Tag sein kann.
Was ist der beste Weg, dies zu tun?
Verwenden Sie die DateTime-API :
%Vor% Dann können Sie es wieder in eine Zeichenfolge mit demselben Datumsformat konvertieren, das Sie mit date()
function verwenden würden, wenn Sie:
Weitere Informationen zur Definition von DateInterval
finden Sie auf dieser Seite:
Das Format beginnt mit dem Buchstaben P für "Punkt". Jede Dauer Die Periode wird durch einen ganzzahligen Wert gefolgt von einer Periode dargestellt Bezeichner. Wenn die Dauer Zeitelemente enthält, wird dieser Teil von der Spezifikation ist der Buchstabe T vorangestellt.
Hier sind einige einfache Beispiele. Zwei Tage ist P2D. Zwei Sekunden ist PT2S. Sechs Jahre und fünf Minuten ist P6YT5M.
In diesem Fall bedeutet PT50H25M10S
50 Stunden, 25 Minuten und 10 Sekunden
Beachten Sie, dass DateInterval erst seit PHP 5.3 verfügbar ist. Wenn Sie eine niedrigere Version verwenden müssen, könnten Sie etwas wie folgt verwenden:
%Vor%Das ist ein wenig schwierig.
Normalerweise würden Sie hier, wenn es sich um eine statische Periode handelt oder um einen einzelnen Periodentyp handelt, etwas in der Art von:
%Vor%Dies würde der datetime 5 Minuten hinzufügen. Ich bezweifle jedoch, dass Sie das ganze Intervall passieren können. Was Sie wahrscheinlich tun müssen, ist das Intervall aufzuteilen: und dann jeden Teil des Intervalls (ich nehme an, es ist dynamisch?) Zu dem Datum getrennt hinzuzufügen. Also erste Stunden, dann Minuten, dann Sekunden
Weitere Informationen hierzu finden Sie hier: Ссылка
Falls jemand auf der Grundlage der obigen Antworten benötigt wird, habe ich meine Funktion wie folgt gemacht:
%Vor%hoffe, es hilft jemandem
Tags und Links php