Loading:


    PHP - odliczanie czasu do konkretnego wydarzenia

     Jako iż odliczanie czasu może nam przydać się wielokrotnie, napiszemy sobie funkcję, która to będzie robiła, do roboty.

    
    function CountDown($hour, $minute, $second, $month, $day, $year) {
    
    }
    

    Jako parametry należy podać kolejno: godzinę, minutę, sekundę, miesiąc, dzień, rok wydarzenia. Kolejnym krokiem będzie wygenerowanie sobie czasu w sekundach wydarzenia i dnia dzisiejszego.

    
    $eventDate = mktime($hour, $minute, $second, $month, $day, $year);
    $today = mktime();
    

    I teraz możemy sobie już tworzyć poszczególne elementy daty i czasu po prostu dzieląc te sekundy.

    
    $secondsTo = $eventDate - $today;
    $minutesTo = round($secondsTo / 60);
    $hoursTo = round($minutesTo / 60);
    $daysTo = round($hoursTo / 24);
    $weeksTo = round($daysTo / 7);
    $monthsTo = round($weeksTo / 4);
    $yearsTo = round($monthsTo / 12);
    

    Teraz moglibyśmy sobie to już wszystko zwrócić, ale nie zawsze potrzebne będą nam wszystkie informację (np. chcę policzyć sobie ile zostało dni do wakacji i nie potrzebne mi są inne właściwości), dlatego umieścimy je w tablicy.

    
    $values = array(
            "seconds" => $secondsTo,
            "minutes" => $minutesTo,
    	"hours" => $hoursTo,
    	"days" => $daysTo,
    	"weeks" => $weeksTo,
    	"months" => $monthsTo,
    	"years" => $yearsTo
    );
    

    Teraz zostało nam tylko tę tablicę zwrócić.

    
    return $values;
    

    I mamy gotową funkcję do odliczania czasu do konkretnej daty, teraz może zaprezentuję przykład użycia. Np. odliczanie do końca świata, który ma się wydarzyć 21 maja, 2012 roku. :)

    
    $endWorld = CountDown(12, 0, 0, 12, 21, 2012); 
    ?>
    
    <h2>Koniec świata nastąpi za:</h2>
    <ul>
    	<li><?php echo $endWorld['years']; ?> lat</li>
    	<li><?php echo $endWorld['months']; ?> miesięcy</li>
    	<li><?php echo $endWorld['weeks']; ?> tygodni</li>
    	<li><?php echo $endWorld['days']; ?> dni</li>
    	<li><?php echo $endWorld['hours']; ?> godzin</li>
    	<li><?php echo $endWorld['minutes']; ?> minut</li>
    	<li><?php echo $endWorld['seconds']; ?> sekund</li>
    </ul>
    
    

    To wszystko, dziękuję za uwagę i pozdrawiam.



    Napisz Artyku³

    Listing

    <?php

    function CountDown($hour, $minute, $second, $month, $day, $year) {
            $eventDate = mktime($hour, $minute, $second, $month, $day, $year);
            $today = mktime();
           
            $secondsTo = $eventDate - $today;
            $minutesTo = round($secondsTo / 60);
            $hoursTo = round($minutesTo / 60);
            $daysTo = round($hoursTo / 24);
            $weeksTo = round($daysTo / 7);
            $monthsTo = round($weeksTo / 4);
            $yearsTo = round($monthsTo / 12);
           
            $values = array(
                    "seconds" => $secondsTo,
                    "minutes" => $minutesTo,
                    "hours" => $hoursTo,
                    "days" => $daysTo,
                    "weeks" => $weeksTo,
                    "months" => $monthsTo,
                    "years" => $yearsTo
            );
           
            return $values;
    }

    ?>




    Dodano przez: lukaaspl Ranga: 0 Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors