Überprüfen Sie meine Antwort, während ich sie verwende startOfHour();
– ml59
24. Dezember 2021 um 14:13 Uhr
Da Sie bereits einen Unix-Zeitstempel haben $dist es am effizientesten, anstelle von Datumsfunktionen nur arithmetische Funktionen zu verwenden – insbesondere, wenn Sie eine Ergebnismenge durchlaufen möchten.
$hourTimestamp = $d - ($d % 3600);
Der Modulo-Operator gibt Ihnen den Rest, den Sie vom Zeitstempel subtrahieren, um den Stunden-Zeitstempel zu erhalten.
PHP-Daten berücksichtigen Zeitzonen, während Unix-Zeitstempel immer in UTC sind, sodass dies nicht das erwartete Ergebnis für Zeitzonen wie Indien (UTC+5½) oder Iran (UTC+3½) liefert.
– Gamifizierung
6. Juli 2020 um 5:38 Uhr
In diesem Fall eine einfache substr tun könnte:
echo substr($date, 0, 13) . ":00:00";
In Bezug auf die @Dayson-Antwort ist dies eine bessere Möglichkeit, die Datumszeit mit Carbon auf die letzte Stunde zu runden
Sind Datetimes UTC?
– Sauerstoff
20. April 2013 um 9:11 Uhr
Was ist mit Mikrosekunden?
– Jewgenij Afanasjew
21. März 2018 um 3:21 Uhr
Funktion zum willkürlichen Runden von PHP DateTimes: stackoverflow.com/a/57399274/339440
– Stefan R
8. August 2019 um 0:12 Uhr