2009-11-29 22 views
9

sto aggiungendo la data e l'ora correnti nel mio database utilizzando il seguente codice:Perché il mio tempo() è scaduto di un'ora in php?

$current_date_time = time(); 
echo date('n/j/y g:ia',$current_date_time); 

Essa mostra come 11/29/09 12:38 quando dovrebbe essere 11/29/09 11:38

L'ora è avanti di un'ora. Sono nel fuso orario del Pacifico e il mio fornitore di hosting si trova nello Utah, il fuso orario della montagna. Potrebbe essere questa la ragione per cui è avanti di un'ora?

Come posso risolvere questo problema? Devo rimuovere un'ora dal momento? Se è così, come faccio? O c'è una sorta di altro modo per tenere conto delle differenze di fuso orario in modo che compaia nel fuso orario fuso orario del Pacifico?

risposta

21

Si risolve impostando il fuso orario in modo esplicito negli script PHP. Si può fare questo con date_default_timezone_set():

date_default_timezone_set('America/Los_Angeles'); 

Ecco il list of PHP supported timezones.

Si potrebbe anche voler provare uno script di prova chiamando date_default_timezone_get() per vedere a cosa è effettivamente impostato per verificare che questo sia effettivamente il problema.

+0

Come faccio? – zeckdude

+0

Cool! Molte grazie! Anche se avevo bisogno di date_default_timezone_set ('America/Los_Angeles'); da quando sono nel fuso orario del Pacifico. – zeckdude

Problemi correlati