PHP: Zwei Current_Timestamps berechnen?

3 Antworten

Ich würde das Ganze in einen UNIX-Timestamp konvertieren und dann davon die Differenz ausrechnen.

$timestamp1 = strtotime('2010-05-17 19:13:37');
$timestamp2 = strtotime('2017-10-13 11:17:57');

//unterschied in sekunden:
$unterschied = $timestamp2 - $timestamp1;

//in leserliche Zeit ausgeben
$hours = floor($unterschied / 3600);
$mins = floor($unterschied / 60 % 60);
$secs = floor($unterschied % 60);
$timeFormat = sprintf('%02d:%02d:%02d', $hours, $mins, $secs);

"$timeFormat" ist dann der die Differenz im leserlichen Format (00:00:00).

Hi,

vorab, du kannst es auch gleich im SQL statement schreiben. Spart dann den PHP-Code.

Beispiel:

SELECT * FROM `your_table` WHERE (TIMESTAMPDIFF(SECOND, `timestamp_field`, NOW()) < 3600);

Das holt alle records der letzten Stunde.

Alternativ kannst du diese Zeitangabe auch direkt aus dem SQL rausholen um dann mit PHP schon mit dem fertigen Zeitunterschied arbeiten:

SELECT *, TIMESTAMPDIFF(SECOND, `datums_spaltenname`, NOW()) AS `timediff` FROM `your_table`;

Damit könntest du dann mit PHP direkt auf

$record["timediff"];

zugreifen.

Geht mit reinem PHP natürlich auch, kannst du dir direkt auf Stackoverflow abschauen, da ist es bereits super erklärt: https://stackoverflow.com/a/12382882

Woher ich das weiß:Berufserfahrung