Visualizzazione risultati 1 fino 11 di 11

Discussione: [php] la funzione date() da la data del server o la data del pc utente?

  1. #1
    Guest

    Question [php] la funzione date() da la data del server o la data del pc utente?

    La funzione date() restituisce la data del server o la data del pc
    del utente?

    grazie

  2. #2
    Guest

    Predefinito

    Essendo il php un linguaggio "lato server", date() restituisce la data del server...

    Ciao

  3. #3
    Guest

    Predefinito

    grazie
    Per caso sai se il campo nella tabella del DB va bene di tipo Date per
    salvare il risultato di date("d-m-y"); ?

    Devo fare qualche controllo in caso di errore ... non so ad esempio se
    il server nn restituisce la data?

  4. #4
    Guest

    Predefinito

    La funzione date() agisce sul timestamp, cioè il numero di secondi passati dalla unix epoc (01/01/1970) a quel momento.
    Nel DB in questo caso è sempre meglio memorizzare il timestamp, in maniera tale da poter gestire i dati al meglio (ordinarli in maniera corretta o gestire la data come meglio si preferisce).
    La funzione time() di php restituisce il timestamp attuale (quindi cambia ogni secondo).


    Ciao!

  5. #5
    Guest

    Predefinito

    La Unix Epoch è come la nascita di Cristo per calcolare il tempo.
    ho letto questo:

    L'intervallo di valori va' tipicamente dal 13 dicembre 1901 20:45:54 al 19 gennaio 2038 03:14:07 che corrispondono al minimo e massimo valore rappresentabili mediante un numero intero a 32 bit con segno.
    quindi dopo il 2038 che succede?

  6. #6
    Guest

    Predefinito

    La fine del mondo.


    ciao!

  7. #7
    Guest

    Predefinito

    Quindi dici di salvare il timestamp invece del risultato di date() ?
    devo fare un controllo prima dell'inserimento per verificare che in tabella non
    ci sia un timestamp uguale o non può verificarsi?

    Io dovrei stampare i record della tabella in ordine di inserimento in base alla data chiaramente.
    Di sicuro non posso fare una query in cui ordino i record in base al timestamp quindi devo prima
    convertire il timestamp in una data...
    Codice PHP:
    $timestampdioggi = time();
    date('d-m-Y', $timestampdioggi);
    Ultima modifica di gattilandia : 20-06-2008 alle ore 13.50.28

  8. #8
    Guest

    Predefinito

    Perchè non devono essercene due o più date uguali?
    A parte il fatto che sarebbe molto difficile che due record si memorizzino allo stesso secondo, per il discorso dell'ordinamento cronologico, fa sempre fede questo dato (il timestamp): infatti se due record sono memorizzati allo stesso momento, è giusto che siano rappresentati uno di seguito all'altro.


    Ciao!

  9. #9
    Guest

    Predefinito

    Per capirci se io faccio la query così:
    SELECT * FROM mia_tab ORDER BY campo_timestamp;

    che esce fuori? mica li ordina per data... li ordina per timestamp che non
    rappresenta la data ma deve essere trasformato ... giusto?

  10. #10
    Guest

    Predefinito

    No, è proprio qui che sta il bello (oltre a me ovviamente).
    Essendo quella stringa un numero, l'ordine sarà quello voluto; cosa che non succede usando il formato data italiano dd-mm-aaaa


    Ciao!

  11. #11
    Guest

    Predefinito

    Già una volta mi ricordo che per ordinare delle date avevo dovuto ordinarle prima per anno
    poi per mese e poi per giorno xke non avevo trovato una funzione php pronta e allora l'avevo
    fatta io a mano cn una query lunghetta. Dando uno sguardo alle tabelle del mio forum SMF
    ho potuto notare che ha salvato le date come dicevi tu usando il timestamp.

    come tipo di campo per il timestamp va bene INT(10) ?

    Grazie per i consigli spero di nn stressarti ancora sulla questione date
    Ultima modifica di gattilandia : 20-06-2008 alle ore 14.07.58

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •