In my setup setTimezone() does modify the date, as well as the TZ.
Code:
<?php
$dt_obj = new DateTime('2009-06-25 12:00:00');
echo $dt_obj->format(DATE_RFC822) . "\n";
$dt_obj->setTimezone(new DateTimeZone('GMT'));
echo $dt_obj->format(DATE_RFC822);
?>
Output:
Thu, 25 Jun 09 12:00:00 -0400
Thu, 25 Jun 09 16:00:00 +0000
DateTime::setTimezone
(PHP 5 >= 5.2.0)
DateTime::setTimezone — Configure le fuseau horaire de l'objet DateTime
Description
Liste de paramètres
- object
-
Seulement en style procédural : un objet DateTime retourné par date_create()
- timezone
-
Le fuseau horaire voulu.
Valeurs de retour
Retourne l'objet DateTime modifié.
Exemples
Exemple #1 Modifier et lire un objet DateTimeZone
<?php
date_default_timezone_set('Europe/London');
$datetime = new DateTime('2008-08-03 12:35:23');
echo $datetime->getTimezone()->getName() . "\n";
$datetime = new DateTime('2008-08-03 12:35:23');
$la_time = new DateTimeZone('America/Los_Angeles');
$datetime->setTimezone($la_time);
echo $datetime->getTimezone()->getName();
?>
L'exemple ci-dessus va afficher :
Europe/London America/Los_Angeles
Voir aussi
- DateTime::getTimezone() - Lit le fuseau horaire d'un objet DateTime
- timezone_open() - Retourne un nouvel objet DateTimeZone
DateTime::setTimezone
dan dot morin at gmail dot com
25-Jun-2009 07:56
25-Jun-2009 07:56
sht dot alien at gmx dot net
16-Jun-2009 04:13
16-Jun-2009 04:13
Btw: setTimezone() does NOT modify the date, just the TZ. I tested this just to make sure 'cause the documentation doesn't tell.
