Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    12

    Help sulle date e problema 1970! Php settato male?

    Un script usa la funzione mktime.
    Tutto ok fino a quando la data è superiore al 1970....
    Nel manuale php , dal contributo di alcuni, ho copiato uno script che, a detta di chi l'ha scritto, la funzione strtotime (che comuqnue restituisce una timestamp) per date inferiore al 1970 restituisce una timestamp valida.
    A me purtroppo restituisce un generico -1....
    Ho provato con la funzione UNIX_TIMESTAMP di MySql ma anche n questo caso per date inferiori al 1970 il risultato è 0 !
    Anche la funzione strtotime() ...che su php.net come dicevo viene indicata come quella che restituisce stringhe valide di timestamp per anni inferiori al 1970, sul mio server non ne vuole sapere...
    Ho provato a scrivere all'autore dello script (sul suo server linux gira a meraviglia) e mi dice che è questione di setteggio del server o di php.....
    Ma dove? Non riesco a capire ....ho installato da poco la release 4.4.49 ....e sul sito php.net è indicato chiaramente ch ela funzione strtotime funziona pe ranni dal 1901 al 2038..ma sul mio server...no

    In pratica la funzione strtotime (con cui potrei sostituire la mktime) restituisce una timestamp utilizzata per operare dei calcoli per un arco di tempo dal 1901 al 1938...
    ad esempio ( dal sito php.net )

    echo strtotime('13 Dec 1901 20:45:51'); // false
    echo "
    ";
    echo strtotime('13 Dec 1901 20:45:52'); // -2147483648
    echo "
    ";
    echo strtotime('19 Jan 2038 03:14:07'); // 2147483647
    echo "
    ";
    echo strtotime('19 Jan 2038 03:14:08'); // false
    echo "
    ";

    Sul mio non da assolutamente i valori indicati....ma per tutte le date inferiori al 1970 restituisce un languido -1

    Qualcuno sa dirmi se php va instalalto in modo particolare e/o come posso ovviare al problema?
    Grazieeeeeeeee

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    22
    Il tuo server è per caso windows?
    perchè forse sono rimasto indietro ma sapevo che PHP per windows gestisce solo le date positive (cioè dal 1/1/1970 in poi).

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    12
    No è un linux ....
    Ho trovato una date.class molto interessante ma complica la vita....
    Qualcuno mi ha detto che se passassi alla Php ver. 5.1 il problema non sussiste più...ma vorrei essere certo al 100 %
    Grazie

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    La data è semplicemente prima del 1970 o prima del 13 dicembre 1901?

    Note: The valid range of a timestamp is typically from Fri, 13 Dec 1901 20:45:54 GMT to Tue, 19 Jan 2038 03:14:07 GMT. (These are the dates that correspond to the minimum and maximum values for a 32-bit signed integer.) Additionally, not all platforms support negative timestamps, therefore your date range may be limited to no earlier than the Unix epoch. This means that e.g. dates prior to Jan 1, 1970 will not work on Windows, some Linux distributions, and a few other operating systems. PHP 5.1.0 and newer versions overcome this limitation though.
    Inoltre quello che ti hanno detto riguardo il php5.1 non è del tutto corretto.

    - la funzione restituisce -1 quando fallisce, dopo il php5.1 anzichè ritornare un generico -1 ti ritorna un errore
    - E' vero però che il php 5.1 come scritto sopra ovvia al problema dei timestamp negativi su quei server dove ora non è suportato.

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    12
    no sono tutte date superiori al 1901....sono date di nascita in pratica.

    Quindi se usassi php5 il problema sarebbe ovviato a quanto ho capito...
    Ricapitolando con php5 otterrei (indipendentemente dal so) la timestamp negative che è esattamente quello che mi interessa e che se h ben capito...otterrei con php4 se il so lo permtesse.
    Quindi ...devo caricare php5! Ho capito bene?

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    direi di si

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    12
    Grazie VVoVe: sei stato gentilissimo....mi accingo a caricare php5........

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    versione maggiore di 5.1 mi raccomando :-)

    ciao

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.