Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

converter fuso horário para outro fuso horário


Primeiro, você precisa instanciar o objeto datetime com o fuso horário original. Então, depois que o objeto datetime for instanciado, ajuste o fuso horário com DateTime::setTimezone() .

Veja este código, onde usei Asia/Hong_Kong como um exemplo de fuso horário 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 todas as datas originais forem sempre consistentemente significadas como GMT+8, e seu aplicativo PHP estiver configurado para usar GMT+8 também (definido com date_default_timezone_set() , por exemplo), não há necessidade de passar o DateTimeZone inicial objeto, como DateTime recém-criado objetos serão criados automaticamente com esse fuso horário.