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);
Alles anzeigen
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];