sql >> Base de Datos >  >> RDS >> Mysql

convertir zona horaria a otra zona horaria

Primero, debe crear una instancia del objeto de fecha y hora con la zona horaria original. Luego, después de instanciar el objeto de fecha y hora, ajuste la zona horaria con DateTime::setTimezone() .

Vea este código, donde he usado Asia/Hong_Kong como ejemplo GMT+8 zona horaria:

$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 todas las fechas originales siempre significan GMT+8 y su aplicación PHP también está configurada para usar GMT+8 (configurada con date_default_timezone_set() , por ejemplo), no es necesario pasar el DateTimeZone inicial objeto, como DateTime recién creado los objetos se crearán automáticamente con esa zona horaria.