Loading:


    Data w formie - dzisiaj, wczoraj, minute , godzine, dni temu

    Funkcja pobiera datę w formie  RRRR-MM-DD HH:MM:SS np.(2009-09-19 20:44:53) i zwraca ją w formie np. 29 dni temu, 20:45

    Ta funkcja zwraca wynik dla daty nie większej niż 30 dni.

    Podobny artykuł : Różnica między dwiema datami

     

     



    Napisz Artyku³

    Listing


    <?php
    function czas_relatywny( $data_wejsciowa ) {

            $roznica_czasu = time() - strtotime( $data_wejsciowa );
            if( $roznica_czasu < 0 ) { die(); }
            $okres = array('sekund', 'minut', 'godzin', null, 'dni');
            $dlugosc = array(60,60,24,3,31);

            for($j = 0; $roznica_czasu >= $dlugosc[$j]; $j++) { if( !isset($dlugosc[$j]) ) { break; } if( $j<3) { $roznica_czasu /= $dlugosc[$j]; } }
            $roznica_czasu = round(abs($roznica_czasu));

            switch( $j ) {
                    case 0: case 1: case 2:
                            switch( $roznica_czasu ) {
                                    case 1: $okres[$j] .= 'a'; break;
                                    case 2:case 3:case 4:case 22:case 23:case 24:case 32:case 33:case 34:case 42:case 43:case 44:case 52:case 53:case 54: $okres[$j] .= 'y'; break;
                            } break;
                    case 3:
                            switch( $roznica_czasu ) {
                                    case 1: $okres[$j] = 'wczoraj'; break;
                                    case 2: $okres[$j] = 'przedwczoraj'; break;
                                    case 3: $j=4; break;
                            } break;
            }

            if( $j==0 or $j==1 or $j==2 or $j == 4 ) { return $roznica_czasu.' '.$okres[$j].' temu, '.date("H:i",strtotime( $data_wejsciowa )); }
            elseif( $j == 3 ) { return $okres[$j].', '.date("H:i",strtotime( $data_wejsciowa )); }
            elseif( $j == 5 ) { return date("d-m-Y H:i",strtotime( $data_wejsciowa )); }
    }

    ?>

    <?php

    //Przykłady

    echo czas_relatywny( "2009-09-19 20:44:53") ).'<br/>';
    echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-1 minute")) ).'<br/>';
    echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-1 day")) ).'<br/>';
    echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-29 days")) ).'<br/>';
    echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-30 days")) ).'<br/>';
    echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-31 days")) ).'<br/>';
    echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-1 year")) ).'<br/>';

    ?>




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
    dzięki
    autor: lfs_driver | 12815 | 2012-04-15 11:45:13


      • 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