Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Conteggio tra due date

  1. #1

    Conteggio tra due date

    codice:
    <?php 
    $data_maggiore = $partenza; 
    $data_minore   = $arrivo; 
    function contaGiorni($data_maggiore, $data_minore) {   
        $a   = explode('-', $data_maggiore); 
        $da  = explode('-', $data_minore); 
        $bisesto = 0; 
        $n_anni   = ($a[2] - $da[2]); 
        for($i = $da[2]; $i <= $a[2]; $i++) { 
            if ($i % 4 == 0) $bisesto++; 
            } 
        if($da[1] > 2 AND $da[2] % 4 == 0) $bisesto--; 
        if($a[1]  < 2 AND $a[2]  % 4 == 0) $bisesto--; 
        $n_giorni = $n_anni * 365 + $bisesto;             
        $giorni_da =date('z', mktime(0,0,0, $da[1], $da[0], 1970));   
        $giorni_a  =date('z', mktime(0,0,0, $a[1], $a[0], 1970)); 
        return $tot = $n_giorni - $giorni_da + $giorni_a; 
    } 
    print contaGiorni($data_maggiore, $data_minore);
    ?>
    Questa e' per fare il conteggio tra 2 date,se metto una data dal 01/01/2006 al 10/01/2006
    come risultato mi da 9.
    Ma se volessi il numero dei giorni dal 01/01/01 al 10/01/2006 comprese le due date? che mi dovrebbe restituire 10
    Ho provato a fare:
    codice:
    $giorni_da =date('z', mktime(0,0,0, $da[1], $da[0]-1, 1970));
    Ma se metto dal 01/01/2006 con -1 e' come se fosse il 31/12 e mi restituisce un valore -355
    Ho provato:
    codice:
    $giorni_a  =date('z', mktime(0,0,0, $a[1], $a[0]+1, 1970));
    Logicamente se metto dal 01/01 va bene,ma se metto dal 01/12 al 31/12 siamo a punto a capo mi va all'anno nuovo e mi restituisce -334

  2. #2
    che contorcimento.

    se vuoi comprendere il giorno di partenza aggiungi + 1 al risultato.

    print contaGiorni($data_maggiore, $data_minore) + 1;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    giusto
    mi ero perso in un bicchiere d'acqua
    grazie

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.