Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    298

    Problema con funzione GMDATE e MKTIME

    Sto creando un guestbook in php per il mio sito....

    ed ecco il mio problema:

    innanzitutto al momento dell'inserimento dei dati nel database memorizzo la data usando questo codice:
    Codice PHP:
    $data_ora=date("H, i, s, m, d, Y"); 
    quindi quando richiamo i dati x visualizzare tutti i messaggi inseriti x la data uso questo:
    Codice PHP:
    $data_ora=gmdate("d/m/Y H:i"mktime($data_ora)); 
    in modo da avere l'orario corretto a seconda del fuso orario (giusto, no?)


    il problema è che quando visualizzo la data mi fa tutto giusto a parte i minuti che mette sempre i minuti attuali in tutti i messaggi...

    (esempio:
    ci sono 2 messaggi, uno delle 13.24 e uno delle 16.05

    quando visualizzo i messaggi ad esempio alle 18.45 mi visualizza le ore così: 13.45 e 16.45)

    spero di essermi spiegato bene ciau
    siate buoni...è la prima volta che tento di fare un gb da zero in php/mysql

  2. #2
    Ecco una delle altre ragioni perche' preferisco la gestione date/time di mysql.

    Il problema non e' nuovo. Non solo i minuti ma anche tutto il resto, tranne l'ora, non corrispondera' alla data-ora che hai inserito.

    Vediamo se riesco a spiegarmi:

    Il problema nasce da mktime. mktime vuole degli interi separati da virgole. Ora:

    mktime (23,31,57,06,20,2004)

    E' ben diverso da:

    $data_ora=date("H, i, s, m, d, Y")
    mktime($data_ora)

    $data_ora e', purtroppo per te, una stringa e non una sequenza di interi.

    Infatti viene interpretato solo il primo gruppo (l'ora) e tutto il resto viene inserito con i valori del momento, come previsto in caso di default o di errore di valore.


    gmdate ti rende l'ora di Grenweech quindi indietro di 2 ore (in orario legale) rispetto all'Italia.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    298
    ok grazie

    allora come faccio a gestire la data e l'ora con mysql in modo che sia regolata in base al fuso orario?

  4. #4
    Originariamente inviato da Stepunk
    ok grazie

    allora come faccio a gestire la data e l'ora con mysql in modo che sia regolata in base al fuso orario?
    Il fuso orario viene stabilito dal settaggio del Sistema Operativo del server. Puoi usare gmdate o gmmktime ecc... quando vuoi restituire l'ora di grenweech al posto dell'ora locale.

    Per quanto riguarda l'uso delle date ... ci sono molte scuole al riguardo. Personalmente se la data/ora va in un database uso le funzioni di mysql (o piu' genericamente del db).

    Puoi leggere il manuale oppure la pillola date/time, se vuoi una panoramica sulle disponibilita'.

    Nel tuo caso se vuoi utilizzare mktime devi fare tante variabili numeriche, una per ogni valore, al posto di una sola $data_ora.
    Es:

    mktime($ora,$min,$sec, $mese,$giorno,$anno)



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.