Mysql
 sql >> Database >  >> RDS >> Mysql

convertire il fuso orario in un altro fuso orario

Innanzitutto, è necessario creare un'istanza dell'oggetto datetime con il fuso orario originale. Quindi, dopo aver creato un'istanza dell'oggetto datetime, regola il fuso orario con DateTime::setTimezone() .

Vedi questo codice, dove ho usato Asia/Hong_Kong ad esempio fuso orario 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

Se tutte le date originali sono sempre intese in modo coerente come GMT+8 e la tua applicazione PHP è impostata per utilizzare anche GMT+8 (impostato con date_default_timezone_set() , ad esempio), non è necessario passare il DateTimeZone iniziale oggetto, come DateTime appena creato gli oggetti verranno creati automaticamente con quel fuso orario.