Scripts

Timestamp interval

Ik heb onderstaand script geschreven om het verschil te berekenen tussen twee timestamps. Dat gebruik ik om een soort "inklok" functie te maken voor een website, zodat mensen kunnen zien hoe lang ze al aan het werk zijn zeg maar. Maar het is ook op andere items toepasbaar. Je kunt het ook andersom doen en naar een evenement een countdown doen. Je draait dan gewoon de waarden om...je zet start op time() en het einde op de timestamp van de datum waarop het evenement is.

timestamp-interval
<?PHP
if(! function_exists("timeInterval"))
{
    function timeInterval($start, $end)
    {
        $inter = $end - $start;
        $var = "";
        //Jaren
        $jaar = floor($inter / 31536000);
        if($jaar > 0)
        {
            $var .= $jaar . " jaar, ";
            $inter = $inter - ($jaar * 31536000);
        }
        //Maanden
        $maand = floor($inter / 2628000);
        if($maand > 0)
        {
            $var .= $maand . " maand, ";
            $inter = $inter - $maand * 2628000;
        }
        //Dagen
        $dag = floor($inter / 86400);
        if($dag > 0)
        {
            if($dag == 1)
            {
                $var .= $dag . " dag, ";
            }
            else
            {
                $var .= $dag . " dagen, ";
            }
            $inter = $inter - $dag * 86400;
        }
        //Uren
        $uur = floor($inter / 3600);
        if($uur > 0)
        {
            if($uur == 1)
            {
                $var .= $uur . " uur, ";
            }
            else
            {
                $var .= $uur . " uren, ";
            }
            $inter = $inter - $uur * 3600;
        }
        //Minuten
        $min = floor($inter / 60);
        if($min > 0)
        {
            if($min == 1)
            {
                $var .= $min . " minuut en ";
            }
            else
            {
                $var .= $min . " minuten en ";
            }
            $inter = $inter - $min * 60;
        }
        //Seconden [kun je eventueel weghalen]
        $var .= $inter . " seconden";
        return $var;
    }
}
//Voorbeeld
//Dit geeft iets als: "2 uur en 56 minuten en 3 seconden"
echo timeInterval(1188581065, time());

//Voorbeeld van een countdown naar nieuwjaar 2008
echo timeInterval(time(), mktime(0, 0, 0, 12, 31, 2007));
?> 

Reacties

0
Nog geen reacties.