Sekunden umrechnen

Sekunden als Anzahl von Tagen, Stunden und Minuten ausgeben.

Beispiel ausführen

Computer können am besten mit Zeitangaben in Sekunden umgehen.
Für Menschen sind Zeitangaben in Sekunden aber nur schwer zu erfassen. Denn wir sind es gewohnt mit Zeiträumen von Tagen, Stunden und Minuten umzugehen.
Das folgende Skript erledigt die Umrechnung einer Anzahl von Sekunden in eine benutzerfreundlichere Angabe von Stunden und Minuten, bei größeren Zeiträumen auch Jahre, Monate und Tage.

<?php
/**
* Anzahl von Sekunden in Jahre, Monate, ..., Minuten und Sekunden umrechnen
*/

function tellSeconds($NumberOfSeconds)
{

    
$time_map = array(

     
'Jahre'     => 31536000,    # 365 Tage
     
'Monate'    => 2592000,    # 30 Tage
     
'Wochen'    => 604800,    # 7 Tage
     
'Tage'     => 86400,
     
'Stunden'     => 3600,
     
'Minuten'     => 60,
     
'Sekunden'     => 1,
    );

    
$SecondsTotal     $NumberOfSeconds;

    
$SecondsLeft     $SecondsTotal;

    
$stack = array();

    foreach (
$time_map as $k => $v) {

        if (
$SecondsLeft $v || $SecondsLeft == 0) {
                continue;
        } else {
                
$amount floor($SecondsLeft$v);
                    
$SecondsLeft $SecondsLeft $v;

            
$label = ($amount>1)
                ? 
$k
                
substr($k0, -1);

                    
$stack[] = sprintf('<strong>%s</strong> %s'$amount$label);
        }
    }
    
$cnt count($stack);

    if (
$cnt 1){
        
$tmp1 array_pop($stack);
        
$tmp2 array_pop($stack);
        
array_push ($stack$tmp2 ' und '.$tmp1);
    };
    
$result join (', '$stack);
    return 
$result;

}

if (isset(
$_POST['seconds'])) {
    
$seconds intval($_POST['seconds']);
    
$result tellSeconds($seconds);
}else{
    
$seconds '123456789';
    
$result '';
}

echo <<< EOT
<p>Anzahl der Sekunden eingeben.</p>

<form action="
{$_SERVER['PHP_SELF']}" method="post">
<input type="text" name="seconds" value="
{$seconds}" />
<input type="submit" value="Sekunden umrechnen" />
</form>
$result
EOT;

?>

Benutzte Funktionen


Hinweise zum DatenschutzImpressum © 2005-2008 S. Eickhoff