web-dev-qa-db-fra.com

Conversion entre fuseaux horaires en PHP

Je convertis cette heure et cette date:

Thu, 31 Mar 2011 02:05:59 GMT

Au format d'heure et de date suivant:

Monday March 28 2011 4:48:02 PM

J'utilise le code PHP PHP pour accomplir cela, mais je veux convertir tous les fuseaux horaires en PST/PDT. J'ai regardé le manuel PHP PHP et j'ai vu cette date_default_timezone_set() mais je ne sais pas comment implémenter cela dans le code que j'ai ci-dessous.

$date = $messages[0]->CreationTime;
echo date('l F j Y g:i:s A I', strtotime($date))
31
FAFAFOHI

Je n'utiliserais pas date_default_timezone_set pour les conversions TZ générales. (Pour clarifier ... si c'est à des fins d'affichage, à l'échelle du script, l'utilisation du fuseau horaire par défaut est une chose raisonnable à faire.)

Au lieu de cela, j'utiliserais quelque chose comme:

$tz = new DateTimeZone('America/Los_Angeles');

$date = new DateTime('Thu, 31 Mar 2011 02:05:59 GMT');
$date->setTimezone($tz);
echo $date->format('l F j Y g:i:s A I')."\n";
75
Matthew
$date = $messages[0]->CreationTime;
date_default_timezone_set('America/Los_Angeles');
echo date('l F j Y g:i:s A I', strtotime($date));

Voir cette liste pour les fuseaux horaires disponibles qui sont passés dans la fonction

1
Mike B