problema con date('His')

Giuliotresauri

Nuovo Utente
9 Nov 2008
21
0
0
Una cosa strana,in ufficio le applicazioni php che utilizzano il date('His') hanno l'ora corrente corretta,ho installato sul mio pc di casa Wamp e le applicazioni php per continuare a lavorarci su quando non sono in ufficio,com mia sorpresa il date('His') mi da un'orario che è inferiore di 2 ore rispetto all'ora corrente ( e perciò mi si bloccano le sessioni per questo motivo,visto che sfrutto l'ora corrente per controllare le sessioni).

Cosa potrebbe essere? un qualche parametro di php.ini oppure del server apache httpd.conf?

Grazie

Versione apache 2.2.21

Versione php 5.3.8
 
cioa
una stupidagghine
sei sicuro che l'orologio del tuo pc si settato giusto?
eventualmete prova e verifica
PHP:
<?php
$data=time();
echo " la data è (in timestamp $data): ".date("d m Y H:i:s", $data);
?>
 
Si,è settato bene.Il risultato del tuo script mi dà sempre due ore in meno:

la data è (in timestamp 1318019618): 07 10 2011 20:24:38

Comunque,ho fatto anche un'altro test con echo date('O') e come risultato ottengo +0000 (il parametro 'O' indica la differenza con Greenwich),mi aspettavo che fosse +0200 (cioè 2 ore) e non +0000,pensavo fosse un bug https://bugs.php.net/bug.php?id=20975&edit=1 , cosa che non è,ho anche provato ad impostare il fuso a +2 e rifatto il test (dopo la ripartenza del wamp server),ma dà sempre il medesimo risultato per date('O'),probabilmente al date('His') devo aggiungere 2 ore.
 
Ultima modifica:
ciao
prova a vedere in che time zone sei settato
PHP:
<?php 
$data=time(); 
echo " la data è (in timestamp $data): ".date("d m Y H:i:s", $data)."<br>";
echo "da Greenwich: ".date("O")."<br>";
echo "time zone: ".date_default_timezone_get()."<br>";
/*qui sul mio pc da output time zone: default time zone: Europe/Paris 
che dal punto di vista del risultato va bene in quanto sullo stesso fuso orario*/
echo "<br>";
//questa parte la commento eventualmente decommentala e prova nel caso ti dia Europe/London
/*
date_default_timezone_set('Europe/Rome');
$data=time(); 
echo " ora la data è (in timestamp $data): ".date("d m Y H:i:s", $data)."<br>";
echo "da Greenwich: ".date("O")."<br>";
echo "time zone: ".date_default_timezone_get()."<br>";
echo "<br>";
*/
?>
se poi decommentando ti risulta giusto (anche se non capisco il perchè) forse devi aggiungere il set della time zone quando usi sul pc di casa.
e sperare che ti risponda qualcuno più esperto di me
 
con date_default_timezone_get() mi compare UTC,allora ho fatto date_default_timezone_set('Europe/Rome') e questa volta il date('H') mi restituisce l'ora corretta,la tua soluzione funziona perfettamente
:)

inoltre,la tua soluzione mi ha fatto venire in mente se ci fosse nel php.ini un settaggio del timezone,e in effetti all'interno di php.ini vi ho trovato questo decommentato:

date.timezone = UTC
 
Ultima modifica:

Discussioni simili