simplecontent

PHP Snippets und Beispiele

Inhaltsverzeichnis A-Z Register
Beispiel ausführen

Anzahl von Sekunden als Tage, Stunden, Minuten ausgeben

Sekunden umrechnen

Computer können am besten mit Zeitangaben in Sekunden umgehen. Bei größeren Zahlen sind Zeitangaben in Sekunden nur schwer zu erfassen. Für Menschen ist es leichter wenn die Sekunden als Stunden und Minuten dargestellt werden. Das erledigt das folgende Snippet. Das PHP Code Beispiel:
<?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'])) {
    
$_POST['seconds'] = intval($_POST['seconds']);
    
$result tellSeconds($_POST['seconds']);
}else{
    
$_POST['seconds'] = '123456789';
    
$result '';
}

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

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

?>

Dieses PHP Snippet soll in erster Linie als Beispiel und Anregung für eigene Bemühungen dienen.
Gerne darf man es für Projekte aller Art benutzen.
Möchte jemand das Snippet also solches in ähnlicher oder anderer Form veröffentlichen ist ein kleiner Hinweis auf simplecontent.net nicht zuviel verlangt oder Herr Koch?
Für die Abwesenheit von Fehlern kann natürlich keine Gewähr gegeben werden.