Ich rufe eine Datetime aus einem mysql-Feld ab, aber ich muss es up auf die nächsten 10 Minuten runden.
Beispiel: Wenn die Datumseinstellung 2013-11-06 14:00:01 ist, möchte ich die Uhrzeit als 6/11/2013 14:10 zurückgeben.
Was ist der einfachste Weg, dies zu tun?
%Vor%Irgendein Rat geschätzt.
Danke.
Die Antwort von @rand weist einen Fehler auf, wenn die DateTime, die wir runden möchten, bereits ein 10-Minuten-Vielfaches ist. Es wird zu 10 Minuten später springen, während es nicht gewünscht wird.
Außerdem ist es immer nicht erwünscht, mit %code% zur nächsten Minute zu springen, wenn Sekunden bereits auf Null stehen.
Diese erweiterte Funktion behebt diese Fehler und verwendet einen $ precision-Parameter, um mehr Anwendungsfälle abzudecken.
%Vor%Diese Funktion ist jetzt perfekt für meinen Gebrauch und wahrscheinlich für andere Leute.
Und der Test:
%Vor%Viel Spaß.
Ich würde Zeitstempel verwenden:
%Vor%Ich bin auf diese Frage gestoßen und habe mich gefragt, warum alle Lösungen so kompliziert sind. Es ist einfach das:
%Vor%Sie müssen %code% function verwenden, um das Datum in einen Zeitstempel zu konvertieren und dann Minuten hinzuzufügen oder zu entfernen, zum Beispiel
%Vor%Ich habe die Klasse überladen und eine Methode erstellt:
%Vor%Einfacher Code
%Vor%Mit den Funktionen ceil, floor und round können Sie eine DateTime wie folgt nach oben, unten oder in den nächsten Minuten runden:
%Vor%Ich rufe eine Datetime aus einem mysql-Feld ab, aber ich muss es up auf die nächsten 10 Minuten runden.
Beispiel: Wenn die Datumseinstellung 2013-11-06 14:00:01 ist, möchte ich die Uhrzeit als 6/11/2013 14:10 zurückgeben.
Was ist der einfachste Weg, dies zu tun?
%Vor%Irgendein Rat geschätzt.
Danke.
Die Antwort von @rand weist einen Fehler auf, wenn die DateTime, die wir runden möchten, bereits ein 10-Minuten-Vielfaches ist. Es wird zu 10 Minuten später springen, während es nicht gewünscht wird.
Außerdem ist es immer nicht erwünscht, mit ($datetime->add(new \DateInterval("PT".(60-$second)."S"));
zur nächsten Minute zu springen, wenn Sekunden bereits auf Null stehen.
Diese erweiterte Funktion behebt diese Fehler und verwendet einen $ precision-Parameter, um mehr Anwendungsfälle abzudecken.
%Vor%Diese Funktion ist jetzt perfekt für meinen Gebrauch und wahrscheinlich für andere Leute.
Und der Test:
%Vor%Viel Spaß.
Ich würde Zeitstempel verwenden:
%Vor%Ich bin auf diese Frage gestoßen und habe mich gefragt, warum alle Lösungen so kompliziert sind. Es ist einfach das:
%Vor%Sie müssen %code% function verwenden, um das Datum in einen Zeitstempel zu konvertieren und dann Minuten hinzuzufügen oder zu entfernen, zum Beispiel
%Vor%Ich habe die Klasse überladen und eine Methode erstellt:
%Vor%Einfacher Code
%Vor%Mit den Funktionen ceil, floor und round können Sie eine DateTime wie folgt nach oben, unten oder in den nächsten Minuten runden:
%Vor%Ich rufe eine Datetime aus einem mysql-Feld ab, aber ich muss es up auf die nächsten 10 Minuten runden.
Beispiel: Wenn die Datumseinstellung 2013-11-06 14:00:01 ist, möchte ich die Uhrzeit als 6/11/2013 14:10 zurückgeben.
Was ist der einfachste Weg, dies zu tun?
%Vor%Irgendein Rat geschätzt.
Danke.
Mit den Funktionen ceil, floor und round können Sie eine DateTime wie folgt nach oben, unten oder in den nächsten Minuten runden:
%Vor% Sie müssen strtotime()
function verwenden, um das Datum in einen Zeitstempel zu konvertieren und dann Minuten hinzuzufügen oder zu entfernen, zum Beispiel
Ich habe die Klasse überladen und eine Methode erstellt:
%Vor%