Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [mktime]problema

  1. #1
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247

    [mktime]problema

    Salve a tutti vorrei riportare all'attenzione un problema che mi si è presentato dopo il cambio dell'ora solare.
    Questa funzione fatta da me:
    codice:
    function number_minute($now,$last){
    		$one_minute=60;//siccome la unix timestamp è espressa in secondi devo dividere per 1 minuto per sapere quanti minuti sono
    		$anno_last=substr($last,0,4);
    		$mese_last=substr($last,5,2);
    		$giorno_last=substr($last,8,2);
    		$ora_last=substr($last,11,2);
    		$minuti_last=substr($last,14,2);
    		$secondi_last=substr($last,17,2);
    	
    		$anno_now=substr($now,0,4);
    		$mese_now=substr($now,5,2);
    		$giorno_now=substr($now,8,2);
    		$ora_now=substr($now,11,2);
    		$minuti_now=substr($now,14,2);
    		$secondi_now=substr($now,17,2);
    									
    		$time_now_unix = mktime ($ora_now,$minuti_now,$secondi_now,$mese_now,$giorno_now,$anno_now);
    		$time_last_unix = mktime ($ora_last,$minuti_last,$secondi_last,$mese_last,$giorno_last,$anno_last);
    		$diff=$time_last_unix-$time_now_unix;
    		return(floor($diff/$one_minute));
    	}
    Mi ricava il numero di minuti di differenza tra due date che passo nel formato YYYY-MM-gg hh:mm:ss.
    Fino a qui tutto bene salvo quando che faccio fare la differenza tra una data superiore ed una inferiore al 30 ottobrettengo un numero di minuti superiore a quello che deve essere di 60 ossia 1 ora ossia il cambio orario VVoVe: VVoVe:

    La mia domanda è: quello che asserisco è una bufala?
    Se no allora come rimedio all'inconveniente?


    Grazie per il vostro aiuto.
    Andrea

  2. #2
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Nessuna idea in proposito?
    Andrea

  3. #3
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Quindi posso considerare che il mio problema non abbia soluzione?
    Almeno che qualcuno mi dica che il problema esiste.....


    Grazie comunque e scusate per questi up ma la questione per me è importante.
    Andrea

  4. #4
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Dopo questo up lascio perdere.....
    Andrea

  5. #5
    Originariamente inviato da quincy
    Quindi posso considerare che il mio problema non abbia soluzione?
    Almeno che qualcuno mi dica che il problema esiste.....


    Grazie comunque e scusate per questi up ma la questione per me è importante.
    Il problema esiste per il fatto che non tieni conto che il cambio ora comporta un giorno di 25 ore ad ottobre ed uno di 23 a marzo.

    Quindi si tratta di un tuo bug, cioe' un evento inatteso dal software.

    UNIX TIMESTAMP conta i secondi a partire da ... a, poco importa se hai o meno l'ora legale. potresti utilizzare il timestamp prodotto con gmmktime o gmdate, fornisce l'ora di greenwich esente dal cambio ora....


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

  6. #6
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Grazie piero.mac per il tuo aiuto.
    Direi che la tua soluzione possa essere buona.
    Anche perchè la sola altra cosa a cui avevo pensato è quella di togliere/aggiungere un ora nei cambi orari.
    Il fatto è che l'ora non viene cambiata sempre lo stesso giorno e quindi capisco che sia un mio baco ma non è nemmeno semplicissimo porvi rimedio.

    Comunque provo con le funzioni che mi hai indicato.
    Ciao e grazie.
    Andrea

  7. #7
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Per che fosse interessato ho appurato che come segnalato da piero.mac utilizzando la funzione gmmktime e passandogli le due date di cui ottenere la differenza in minuti la mia funzione non è più affetta dal problema dell'ora legale o solare.


    Grazie ancora a piero.mac e alla prossima.
    Andrea

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.