PHP/MySQL: Differenz zweier Daten in Worten anzeigen

DJLopez

Mitglied
Hi Leute,

das Problem kann entweder durch PHP oder MySQL gelöst werden (glaube ich), daher poste ich es erstmal hier - ansonsten kann der Thread auch verschoben werden (sorry, wenns so ist).

Nun, ich habe in einer MySQL DB als varchar in jedem Datensatz einen unix timestamp gesetzt. Ich möchte nun bei der Abfrage erreichen, dass dort steht:
Der Datensatz ist ca. 2 stunden alt.

Dabei soll es in einer "ordentlichen" Form stehen, also "ca. 2 Stunden" anstatt "2 Stunden, 4 Minuten und 37 Sekunden".

So, prinzipiell ist es ja recht einfach die Differenzu zu bekommen

PHP:
$differenz = time()-$datenstimestamp;

So, angenommen in der Differenz steht nun "23298", wie wandel ich das in eine gut lesbare Form um? Man könnte es selber schreiben, aber dann müsste man viele if-Abfragen machen, und sowas MUSS es doch schon vorgefertigt geben!?

Thx!
 
Moin.

Geht es hier nur um Stunden oder auch um Tage und Wochen?
Wenn es sich um Stunden handelt, würd ich das einfach so lösen, dass ich:

- die Differenz durch 3600 (60 sek * 60 min) teile
- das Ergebnis dann runde

Bei deinem Beispiel wäre das dann:

23298 / 3600 = ~6,471

Gerundet: ca. 6 Stunden.

Hoffe das hilft Dir weiter!
 
jor eben, des iss doch ned schwer...
teste mal folgendes Beispiel:

PHP:
//___Erstellt den Zeitstempel  0:0:0 Uhr vom 10.04.2007
$datenstimestamp = mktime(0,0,0,4,10,2007);

//___Rechnet $datenstimestamp herunter auf Stunden und rundet kaufmännisch auf/ab (bis n,5 ab, ab n,5 auf)
$time_gone = 'ca .'.round((time()-$datenstimestamp)/3600).' Stunden';

//___Testausgabe
echo $time_gone;
 
Also das ganze wandelst du mit "date()" wieder in ein lesbares Format ...
die Stunden müsste folgendes ausgeben:

PHP:
$timestamp = " - deine differenz -";
echo date("H", $timestamp);



Schau dir dazu mal folgendes an :
http://de3.php.net/date
 
Hallo DJLopez,

falls deine Zeitstempel in einer SQL-Datenbank gespeichert sind kannst du dein Problem wunderbar mit "DATE_ADD", "DATE_SUB" bzw "DATE_FORMAT" innerhalb der Datenbank lösen..

siehe: Hier

:)

MfG

5noOPY
 
Zuletzt bearbeitet:
Zurück