Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    errore su differenza date

    perche' mi da questo errore?

    Warning: mktime() expects parameter 5 to be long, string given in C:\wamp\www\camere\resocontoprenotazione.php on line 75

    Warning: mktime() expects parameter 5 to be long, string given in C:\wamp\www\camere\resocontoprenotazione.php on line 76

    Devo fare una differenza tra 2 date le quali mi arrivano nel formato gg-mm-aaaa

    codice:
    $data_maggiore = '$textfield2'; 
    $data_minore   = '$textfield'; 
    
    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);
    alla riga 75 e 76 corrispondo:

    codice:
    $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));

  2. #2
    hai modificato la funzione invertendo la data. Ti sei scordato qualcosa....

    Ti posto la funzione originale (funzionante) ....

    Codice PHP:
    $data_maggiore '2000/02/20';
    $data_minore   '2000/02/12';

    function 
    contaGiorni($data_maggiore$data_minore) {
       
        
    $a   explode('/'$data_maggiore);
        
    $da  explode('/'$data_minore); 
        
    $bisesto 0;

        
    $n_anni   = ($a[0] - $da[0]);
            
        for(
    $i $da[0]; $i <= $a[0]; $i++) {
            if (
    $i == 0)  $bisesto++;   
            }

        if(
    $da[1] > AND $da[0] % == 0$bisesto--; 
        if(
    $a[1]  < AND $a[2] > 29 AND $a[0]  % == 0$bisesto--;

        
    $n_giorni $n_anni 365 $bisesto;    
            
        
    $giorni_da =date('z'mktime(0,0,0$da[1], $da[2], 1970));  
        
    $giorni_a  =date('z'mktime(0,0,0$a[1], $a[2], 1970));

        return 
    $tot $n_giorni $giorni_da $giorni_a;
    }

    print 
    contaGiorni($data_maggiore$data_minore); 

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

  3. #3
    l'errore erano gli apici

    Io scrvevo così
    codice:
    $data_maggiore = '$textfield2'; 
    $data_minore   = '$textfield';
    invece le voleva

    codice:
    $data_maggiore = $textfield2; 
    $data_minore   = $textfield;

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.