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

    [php] differenza tra due orari

    Ciao a tutti ho un problema di differenza tra due date, ho guardato qualche discussione ma non ni tornano i conti, il mio listato è il seguente:

    Codice PHP:
     list($hh1,$mm1) = explode(":",$inizio);
     list(
    $hh2,$mm1) = explode(":",$fine);


     
    $t_inizio       mktime ($hh1$mm10$data[0], $data[1], $data[2]);
     
    $t_fine         mktime ($hh2$mm20$data[0], $data[1], $data[2]);
     
    $tempo           = ($t_inizio  $t_fine);

     echo 
    date("H:i:s"$tempo); 
    inserendo come valori 9:30 e 9:40 mi da una differenza di 01:40:00...

    Dove sbaglio?
    Griggio Claudio

  2. #2
    logicamente gli passo anche una data come array...
    Griggio Claudio

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Codice PHP:
    list($hh1,$mm1) = explode(":",$inizio);
    list(
    $hh2,$mm1) = explode(":",$fine); 
    nella seconda riga no dovrebbe essere mm2 ?
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573

    Re: [php] differenza tra due orari

    Prova:
    codice:
    list($hh1,$mm1) = explode(":",$inizio);
    list($hh2,$mm2) = explode(":",$fine);
    
    
    $t_inizio       = mktime ($hh1, $mm1, 0, $data[0], $data[1], $data[2]);
    $t_fine         = mktime ($hh2, $mm2, 0, $data[0], $data[1], $data[2]);
    $tempo           = ($t_fine - $t_inizio);
    
    echo gmdate("H:i:s", $tempo);

    http://www.php.net/manual/en/function.gmdate.php

  5. #5
    grazie!!!

    sapevo che era una por...ata ma quando si scrive il codice ci si ubriaca il cervello

    ci siamo quasi solo che mi da una differenza di 01:10:00 invece che solo 10 minuti...
    Griggio Claudio

  6. #6
    non so se è questo a causare il problema, ma la funzione mktime vuole prima MESE, poi GIORNO e poi ANNO tra i parametri..(dopo ore minuti secondi chiaramente..) scritta così sembra il formato italiano giorno/mese/anno.. poi non so com'è fatto il tuo array....

  7. #7
    anche cambiando l'ordine non cambia il risultato... mi conviene togliere 3600 al $t_fine...

    così funziona

    grazie
    Griggio Claudio

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.