Hi, hatte so ein ähnliches Thema schon mal und bin dieses Mal fündig geworden.
Ich möchte die Zeit als Differenz ausgeben (funktioniert auch).
Code
- function makeDifferenz($first, $second){
- if($first > $second)
- $td['dif'][0] = $first - $second;
- else
- $td['dif'][0] = $second - $first;
- $td['sec'][0] = $td['dif'][0] % 60; // 67 = 7
- $td['min'][0] = (($td['dif'][0] - $td['sec'][0]) / 60) % 60;
- $td['std'][0] = (((($td['dif'][0] - $td['sec'][0]) /60)-
- $td['min'][0]) / 60) % 24;
- $td['day'][0] = floor( ((((($td['dif'][0] - $td['sec'][0]) /60)-
- $td['min'][0]) / 60) / 24) );
- $td = makeString($td);
- return $td;
- }
- function makeString($td){
- if ($td['sec'][0] == 1)
- $td['sec'][1] = 'Sekunde';
- else
- $td['sec'][1] = 'Sekunden';
- if ($td['min'][0] == 1)
- $td['min'][1] = 'Minute';
- else
- $td['min'][1] = 'Minuten';
- if ($td['std'][0] == 1)
- $td['std'][1] = 'Stunde';
- else
- $td['std'][1] = 'Stunden';
- if ($td['day'][0] == 1)
- $td['day'][1] = 'Tag';
- else
- $td['day'][1] = 'Tagen';
- return $td;
- }
- $secLast = date($userdata["last_login"]) ;
- $secNow = time();
- $td = makeDifferenz($secLast, $secNow);
Wie bekomme ich nun hin, dass er lediglich Stunden, Minuten, Tage usw. ausgibt, anstatt von allem etwas? Wenn es mind. ein Tag her ist soll dort halt stehen Vor 1 Tag und nicht Vor 1 Tag und 2 Minuten und 3 Sekunden oder sowas..
Ausgabe:
Zitatecho $td['day'][0] . ' ' . $td['day'][1] . ', ' . $td['std'][0] . ' ' . $td['std'][1] .
', ' . $td['min'][0] . ' ' . $td['min'][1] . ', ' . $td['sec'][0] . ' ' . $td['sec'][1];