Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Funzione Datediff

  1. #1

    Funzione Datediff

    Codice PHP:
    <?PHP
        
    function datediff($tipo$partenza$fine)
        {
            switch (
    $tipo)
            {
                case 
    "A" $tipo 365;
                break;
                case 
    "M" $tipo = (365 12);
                break;
                case 
    "S" $tipo = (365 52);
                break;
                case 
    "G" $tipo 1;
                break;
            }
            
    $arr_partenza explode("/"$partenza);
            
    $partenza_gg $arr_partenza[0];
            
    $partenza_mm $arr_partenza[1];
            
    $partenza_aa $arr_partenza[2];
            
    $arr_fine explode("/"$fine);
            
    $fine_gg $arr_fine[0];
            
    $fine_mm $arr_fine[1];
            
    $fine_aa $arr_fine[2];
            
    $date_diff mktime(1200$fine_mm$fine_gg$fine_aa) - mktime(1200$partenza_mm$partenza_gg$partenza_aa);
            
    $date_diff  floor(($date_diff 60 60 24) / $tipo);
            return 
    $date_diff;
        }
        
        
    /* Esempio */
        
    echo datediff("A""12/04/1978""11/12/2009");
    ?>
    Il problema è che il valore di $tipo è costante, cioè resta sempre quello, se inserisco A resta A, etc. Invece vorrei che fosse una cosa automatica, per esempio parte da G e quando G raggiunge 7, cioè al settimo giorno diventa S. Consigli?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Non reinventiamo la ruota, utilizzare la funzione date_diff del datetime e stamparla nel formato desiderato è anche fin troppo facile, esempio:

    Codice PHP:

    $df 
    date_diff(date_create('12/04/1978'),date_create('11/12/2009'));

    echo 
    $df->format("Anni di differenza: %Y"); 

  3. #3
    Originariamente inviato da RoTeam
    Non reinventiamo la ruota, utilizzare la funzione date_diff del datetime e stamparla nel formato desiderato è anche fin troppo facile, esempio:

    Codice PHP:

    $df 
    date_diff(date_create('12/04/1978'),date_create('11/12/2009'));

    echo 
    $df->format("Anni di differenza: %Y"); 
    L'hoster in cui è il sito ha un PHP v.5.2 e non mi permette di usare date_diff.
    Comunque stavo seguendo questa guida:
    http://www.mrwebmaster.it/php/artico...diff_1121.html

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da SkyTechnologyes
    L'hoster in cui è il sito ha un PHP v.5.2 e non mi permette di usare date_diff.
    Comunque stavo seguendo questa guida:
    http://www.mrwebmaster.it/php/artico...diff_1121.html
    L'unico consiglio che ti posso dare è di cambiare il servizio di hosting e subito

  5. #5
    Originariamente inviato da RoTeam
    L'unico consiglio che ti posso dare è di cambiare il servizio di hosting e subito
    Scade ad inizio luglio e, a questo punto, cambio
    Quindi diciamo che aspettero il nuovo hoster per queste modifiche
    Grazie!

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Piccola sbadatezza che ho notato solo ora riguardandola

    Ho invertito i giorni con i mesi, dovrebbero essere cosi corretti

    04/12/1978 e 12/11/2009

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.