Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Tempo in PHP

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227

    Tempo in PHP

    Ciao a tutti!
    Ho questa funzione per trasformare una data come 2005-07-17 15:56:42 in 41 anni e 6 mesi fa, l'unico problema è che è in inglese, e non riesco a farla valere anche in italiano.

    Questo è il codice:
    Codice PHP:
    function relativeTime($dt,$precision=2)
    {
        
    $times=array(    365*24*60*60    => "anno",
                    
    30*24*60*60        => "mese",
                    
    7*24*60*60        => "settimana",
                    
    24*60*60        => "giorno",
                    
    60*60            => "ore",
                    
    60                => "minuto",
                    
    1                => "secondo");

        
    $passed=time()-$dt;

        if(
    $passed<5)
        {
            
    $output='circa 5 secondi fa';
        }
        else
        {
            
    $output=array();
            
    $exit=0;
            foreach(
    $times as $period=>$name)
            {
                if(
    $exit>=$precision || ($exit>&& $period<60))     break;
                
    $result floor($passed/$period);

                if(
    $result>0)
                {
                    
    $output[]=$result.' '.$name.($result==1?'':'s'); //Dovrei modificare questo punto. In inglese aggiunge semplicemente una S
                    
    $passed-=$result*$period;
                    
    $exit++;
                }

                else if(
    $exit>0$exit++;

            }
            
    $output=implode(' e ',$output).' fa';
        }

        return 
    $output;

    Grazie a tutti in anticipo

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Ce mktime che è anche molto + funzionale
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    Grazie Satifal, ho letto proprio poco fa quella pagina ma non sono ugualmente riuscito a risolvere purtroppo..
    @linoma perdona la mia ignoranza ma..potresti farmi un piccolo esempio? come potrei utilizzare la funzione mktime?

  5. #5
    Originariamente inviato da Thinker
    Grazie Satifal, ho letto proprio poco fa quella pagina ma non sono ugualmente riuscito a risolvere purtroppo..
    Non capisco dove sia il problema. Se result è uguale a uno viene aggiunto lo spazio altrimenti s. Togli il controllo e hai risolto.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    Il problema è che se tolgo il controllo mi stampa questo:
    41 anno e 6 mese fa
    anzichè
    41 anni e 6 mesi fa

    Il mio problema è che non so come modificare i plurali

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.