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

    strtotime e date precedenti al 1970

    Salve a tutti.

    Penso che il problema sia chiaro già dal subject. Ho bisogno di trattare date precedenti al 01 Gennaio 1970 ma strtotime() mi da il seguente errore:

    "Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970"

    restituendo quindi -1 e generando a sua volta un errore in date(). Stesso dicasi per localtime().

    In rete ho trovato una funzione che è in grado di calcolare il timestamp di date antecedenti al 1/1/1970 restituendo un valore negativo, che però né date()localtime() accettano.

    La cosa che mi lascia perplesso è che nella documentazione relativa a strtotime si legge:

    "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."

    C'è un modo per risolvere la cosa?

    Uso PHP 4.3.10 e APACHE 1.3.33 su Windows 2K SP4

  2. #2
    Proprio nessuna soluzione?

    Neanche un suggerimento su dove andare a cercare?

  3. #3
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    la soluzione è nel tuo errore. Su server windows non è possibile, su server linux si.

    Mysql invece in entrambe le versioni non dovrebbe dare problemi. Quindi ti suggerirei di farei i calcoli con mysql, se usi mysql nel tuo script

  4. #4
    Ciao,

    sono d'accordo con kuarl, ma per dovere di cronaca ricordo che se proprio bisogna lavorare in Win e non ci si vuole servire di di MySQL per i calcoli c'è questa classe

    http://pear.php.net/package/Date
    per favore NIENTE PVT TECNICI da sconosciuti

  5. #5
    Kuarl> È vero che il messaggio di errore era piuttosto chiaro, ma poiché nella documentazione la data 1 Gennaio 1970 è definita come "Unix Epoch Time" ho pensato che il problema sarebbe stato sollevato anche sotto Unix/Linux. Al contempo trovavo poco credibile che la manipolazione delle date avesse così forti limitazioni in PHP e quindi una soluzione ci sarebbe dovuta obbligatoriamente essere. :master: Non dimentichiamo che comunque il timestamp è in grado di rappresentare un arco di "soli" 136 anni circa, il che è limitativo per molti campi d'applicazione.

    In effetti la soluzione sembra proprio esserci , e ringrazio moltissimo Fabio Heller per la preziosa segnalazione. Non ho ancora scaricato e provato la libreria che mi hai segnalato, ma da quel che ho letto dovrebbe risolvere ogni problema!

    Purtroppo i dati che devo trattare non fanno parte di un DB, e quindi non è stato possibile sfruttare gli strumenti messi a disposizione da un DBMS.

    Grazie ancora a entrambi per la disponibilità!

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.