Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505

    Pensiero sulla funzione time()

    Questo è più un thread filosofico che tecnico.
    Stavo riflettendo sulla funzione time(), questa funzione ha un limite oltre il quale non può andare, funzionerà fino al valore
    2147483647
    ovvero
    2038-01-19 04:14:07

    oltre questo limite ricomincerà dal 1970.

    Molte applicazioni fanno affidamento su questa funzione, ad esempio per fare un confronto su date nei db precise fino al secondo, visto che il confronto fra date MySQL è preciso fino al giorno, l'ora viene ignorata (o è cambiata questa cosa e sono rimasto indietro?).

    Sarebbe così difficile per gli sviluppatori di PHP estendere la vita della funzione time()?
    Perché è stata creata limitata? Perché proprio a quella data?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    mmm... in realtà penso di sapere il perché del limite, ci avevo pensato troppo poco, dovrebbe essere il valore massimo esprimibile con 32 bit.

    A questo punto è anche chiara la difficoltà del'estensione, è questione di compatibilità finché non saranno abbandonati i sistemi a 32 bit a favore di quelli a 64, o quantomeno dovrebbero modificare la funzione in modo che abbia un comportamento diverso se si usa su sistemi a 32 o 64 bit, magari lasciando specificare un parametro quando la funzione viene invocata.

  3. #3
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Questa è una paturnia in stile millenium bug. Quando il problema sarà prossimo stai pur tranquillo che tutti avranno int a 64 bit e magari long a 128.

    Dopo tutto il problema del tuo script non è legato allo script stesso ma all'engine che lo esegue, quindi aggiornato l'engine si risolve il problema e il 2038 bug è scongiurato.

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

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.