2009-10-30 6 views
0

Comment cela a-t-il un sens?Différence de fuseau horaire PHP - America/New_York = CDT?

date_default_timezone_set("America/New_York"); 
echo date("e"); //output "America/New_York" 
echo date("T"); //output "CDT" 

Y at-il quelque part que je peux définir America/New_York = EDT?

+1

Je viens de copier/coller votre code ci-dessus et couru. Il a produit EDT. Est-il possible que vos tables de fuseau horaire soient foirées? – dnagirl

+0

J'ai cherché quelques entrées de bogues sur la base de bug PHP et il y a 4 ou 5 bogues liés à l'utilisation du modificateur "T". Assurez-vous d'avoir une version récente (au moins +5,1) et réessayez. Aussi, juste en disant, pourrait-il avoir quelque chose à voir avec l'heure avancée? –

+0

En guise de suivi: J'utilise PHP 5.2.6. J'ai mis à jour les fuseaux horaires PHP en installant timezonedb via pecl (voir http://php.net/manual/fr/timezones.php). La sortie n'a toujours pas changé. – Nathan

Répondre

1

Essayez:

<?php 
date_default_timezone_set('America/New_York'); 

$script_tz = date_default_timezone_get(); 

if (strcmp($script_tz, ini_get('date.timezone'))){ 
    echo 'Script timezone differs from ini-set timezone.'; 
} else { 
    echo 'Script timezone and ini-set timezone match.'; 
} 
?>