|
|
|
Zeitdifferenz
Zurück zur Übersicht So berechnet man die vergangene Zeit zwischen zwei Timestamps.
Wenn man zwei Timestamps hat, dann kann man ja sehr leicht die differenz zwischen diesen zwei Timestamps ermitteln.
Allerdings kann sich der Mensch unter 43200 Sekunden relativ wenig vorstellen.
Darum möchte man oft die Differenz in Minuten, Stunden, Tage usw. umwandeln.
Mit der Funktion date(); Funktioniert dieses nicht, denn diese rechnet nur den Timestamp seit dem 1.1.1970 in das Datum um.
Abhilfe schaft diese Funktion:
| PHP |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
|
<?php
function diff_time($differenz)
{
$tag = floor($differenz / (3600*24));
$std = floor($differenz / 3600 % 24);
$min = floor($differenz / 60 % 60);
$sek = floor($differenz % 60);
return array("sek"=>$sek,"min"=>$min,"std"=>$std,"tag"=>$tag,"woche"=>$woche);
}
$differenz = 1234567;
$differenz = diff_time($differenz);
echo "1234567 Sekunden oder:<br>
".$differenz['tag']." Tage<br>
".$differenz['std']." Stunden<br>
".$differenz['min']." Minuten und<br>
".$differenz['sek']." Sekunden<br>";
?>
|
|
An die Funktion time_diff(); übergibt man die differenz zwischen 2 Timestamps.
In unserem Beispiel wäre die Differenz 1234567 Sekunden.
Als rückgabe erhalten wir ein Array mit den verschiedenen Werten.
Dazu werden folgende Schlüssel bentuzt:
tag: Vergangene Tage
std: Vergangene Stunden (unter Berücksichtigung von Tagen)
min: Vergangene Minuten (unter Berücksichtigung von Stunden)
sek: Die verleibenden Sekunden.
Die Funktion errechnet nicht die zurückliegenden Monate/Jahre, da sich die Anzahl der Tage immer ändert.
Kommentare
Zurück zur Übersicht
Autor Andavos
|
|
|
|