Mysql
 sql >> Base de données >  >> RDS >> Mysql

convertir le fuseau horaire en un autre fuseau horaire

Tout d'abord, vous devez instancier l'objet datetime avec le fuseau horaire d'origine. Ensuite, une fois l'objet datetime instancié, ajustez le fuseau horaire avec DateTime::setTimezone() .

Voir ce code, où j'ai utilisé Asia/Hong_Kong par exemple fuseau horaire GMT+8 :

$time = "2012-11-07 15:05:26"; // fetch from database
$date = new DateTime($time,new DateTimeZone('Asia/Hong_Kong'));
$date->setTimezone(new DateTimeZone('Europe/Berlin'));
echo $date->format('Y-m-d H:i:s'); // yields 2012-11-07 08:05:26

Si toutes les dates d'origine sont toujours signifiées GMT+8 et que votre application PHP est configurée pour utiliser GMT+8 également (définie avec date_default_timezone_set() , par exemple), il n'est pas nécessaire de passer le DateTimeZone initial objet, en tant que DateTime nouvellement créé les objets seront automatiquement créés avec ce fuseau horaire.