• User Attivo

    Il mistero del date...

    Sono un programmatore php da tanti anni e nonostante questo sto impazzendo per una banalità assurda, un vero mistero.
    Stavo facendo un banale script che mi visualizzasse la data successiva di 7 giorni (cioè se oggi è il 24 dovrebbe visualizare il 31) e mi usciva 30. Il modo più logico per fare una operazione del genere è passare alla funzione date il time() + 86400 moltiplicato per i giorni.

    Riprova, riprova, niente e alla fine ho fatto questo scriptino per venirne a capo del mistero e capire se il php era ancora in grado di calcolare le giornate di 24 ore.
    Secondo la logica avrebbe dovuto stampare una sequenza di date consecutive a fianco a un'orario sempre uguale no?

    $time_start=time();
    $time_end=$time_start+86400*200;
    for($i=$time_start;$i<=$time_end;$i+=86400) {
    echo date("d/m/Y H:i:s",$i)."<br>";
    }

    E invece sotto troverete il risultato! Assurdo vero?

    24/10/2012 00:14:06
    25/10/2012 00:14:06
    26/10/2012 00:14:06
    27/10/2012 00:14:06
    28/10/2012 00:14:06
    28/10/2012 23:14:06
    29/10/2012 23:14:06
    30/10/2012 23:14:06
    31/10/2012 23:14:06
    01/11/2012 23:14:06
    02/11/2012 23:14:06
    03/11/2012 23:14:06
    04/11/2012 23:14:06
    05/11/2012 23:14:06
    06/11/2012 23:14:06
    07/11/2012 23:14:06
    08/11/2012 23:14:06
    09/11/2012 23:14:06
    10/11/2012 23:14:06
    11/11/2012 23:14:06
    12/11/2012 23:14:06
    13/11/2012 23:14:06
    14/11/2012 23:14:06
    15/11/2012 23:14:06
    16/11/2012 23:14:06
    17/11/2012 23:14:06
    18/11/2012 23:14:06
    19/11/2012 23:14:06
    20/11/2012 23:14:06
    21/11/2012 23:14:06
    22/11/2012 23:14:06
    23/11/2012 23:14:06
    24/11/2012 23:14:06
    25/11/2012 23:14:06
    26/11/2012 23:14:06
    27/11/2012 23:14:06
    28/11/2012 23:14:06
    29/11/2012 23:14:06
    30/11/2012 23:14:06
    01/12/2012 23:14:06
    02/12/2012 23:14:06
    03/12/2012 23:14:06
    04/12/2012 23:14:06
    05/12/2012 23:14:06
    06/12/2012 23:14:06
    07/12/2012 23:14:06
    08/12/2012 23:14:06
    09/12/2012 23:14:06
    10/12/2012 23:14:06
    11/12/2012 23:14:06
    12/12/2012 23:14:06
    13/12/2012 23:14:06
    14/12/2012 23:14:06
    15/12/2012 23:14:06
    16/12/2012 23:14:06
    17/12/2012 23:14:06
    18/12/2012 23:14:06
    19/12/2012 23:14:06
    20/12/2012 23:14:06
    21/12/2012 23:14:06
    22/12/2012 23:14:06
    23/12/2012 23:14:06
    24/12/2012 23:14:06
    25/12/2012 23:14:06
    26/12/2012 23:14:06
    27/12/2012 23:14:06
    28/12/2012 23:14:06
    29/12/2012 23:14:06
    30/12/2012 23:14:06
    31/12/2012 23:14:06
    01/01/2013 23:14:06
    02/01/2013 23:14:06
    03/01/2013 23:14:06
    04/01/2013 23:14:06
    05/01/2013 23:14:06
    06/01/2013 23:14:06
    07/01/2013 23:14:06
    08/01/2013 23:14:06
    09/01/2013 23:14:06
    10/01/2013 23:14:06
    11/01/2013 23:14:06
    12/01/2013 23:14:06
    13/01/2013 23:14:06
    14/01/2013 23:14:06
    15/01/2013 23:14:06
    16/01/2013 23:14:06
    17/01/2013 23:14:06
    18/01/2013 23:14:06
    19/01/2013 23:14:06
    20/01/2013 23:14:06
    21/01/2013 23:14:06
    22/01/2013 23:14:06
    23/01/2013 23:14:06
    24/01/2013 23:14:06
    25/01/2013 23:14:06
    26/01/2013 23:14:06
    27/01/2013 23:14:06
    28/01/2013 23:14:06
    29/01/2013 23:14:06
    30/01/2013 23:14:06
    31/01/2013 23:14:06
    01/02/2013 23:14:06
    02/02/2013 23:14:06
    03/02/2013 23:14:06
    04/02/2013 23:14:06
    05/02/2013 23:14:06
    06/02/2013 23:14:06
    07/02/2013 23:14:06
    08/02/2013 23:14:06
    09/02/2013 23:14:06
    10/02/2013 23:14:06
    11/02/2013 23:14:06
    12/02/2013 23:14:06
    13/02/2013 23:14:06
    14/02/2013 23:14:06
    15/02/2013 23:14:06
    16/02/2013 23:14:06
    17/02/2013 23:14:06
    18/02/2013 23:14:06
    19/02/2013 23:14:06
    20/02/2013 23:14:06
    21/02/2013 23:14:06
    22/02/2013 23:14:06
    23/02/2013 23:14:06
    24/02/2013 23:14:06
    25/02/2013 23:14:06
    26/02/2013 23:14:06
    27/02/2013 23:14:06
    28/02/2013 23:14:06
    01/03/2013 23:14:06
    02/03/2013 23:14:06
    03/03/2013 23:14:06
    04/03/2013 23:14:06
    05/03/2013 23:14:06
    06/03/2013 23:14:06
    07/03/2013 23:14:06
    08/03/2013 23:14:06
    09/03/2013 23:14:06
    10/03/2013 23:14:06
    11/03/2013 23:14:06
    12/03/2013 23:14:06
    13/03/2013 23:14:06
    14/03/2013 23:14:06
    15/03/2013 23:14:06
    16/03/2013 23:14:06
    17/03/2013 23:14:06
    18/03/2013 23:14:06
    19/03/2013 23:14:06
    20/03/2013 23:14:06
    21/03/2013 23:14:06
    22/03/2013 23:14:06
    23/03/2013 23:14:06
    24/03/2013 23:14:06
    25/03/2013 23:14:06
    26/03/2013 23:14:06
    27/03/2013 23:14:06
    28/03/2013 23:14:06
    29/03/2013 23:14:06
    30/03/2013 23:14:06
    01/04/2013 00:14:06
    02/04/2013 00:14:06
    03/04/2013 00:14:06
    04/04/2013 00:14:06
    05/04/2013 00:14:06
    06/04/2013 00:14:06
    07/04/2013 00:14:06
    08/04/2013 00:14:06
    09/04/2013 00:14:06
    10/04/2013 00:14:06
    11/04/2013 00:14:06
    12/04/2013 00:14:06
    13/04/2013 00:14:06
    14/04/2013 00:14:06
    15/04/2013 00:14:06
    16/04/2013 00:14:06
    17/04/2013 00:14:06
    18/04/2013 00:14:06
    19/04/2013 00:14:06
    20/04/2013 00:14:06
    21/04/2013 00:14:06
    22/04/2013 00:14:06
    23/04/2013 00:14:06
    24/04/2013 00:14:06
    25/04/2013 00:14:06
    26/04/2013 00:14:06
    27/04/2013 00:14:06
    28/04/2013 00:14:06
    29/04/2013 00:14:06
    30/04/2013 00:14:06
    01/05/2013 00:14:06
    02/05/2013 00:14:06
    03/05/2013 00:14:06
    04/05/2013 00:14:06
    05/05/2013 00:14:06
    06/05/2013 00:14:06
    07/05/2013 00:14:06
    08/05/2013 00:14:06
    09/05/2013 00:14:06
    10/05/2013 00:14:06
    11/05/2013 00:14:06
    12/05/2013 00:14:06


  • User

    Ciao,
    l'ultima Domenica di Ottobre e l'ultima Domenica di Marzo sono soggette al cambio dell'ora da legale a solare e viceversa.


  • User Attivo

    @Cyrus said:

    Ciao,
    l'ultima Domenica di Ottobre e l'ultima Domenica di Marzo sono soggette al cambio dell'ora da legale a solare e viceversa.

    E' vero, non ci avevo proprio pensato. Grazie! :eheh: