Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Konvertieren Sie die Zeitzone in eine andere Zeitzone

Zuerst müssen Sie das datetime-Objekt mit der ursprünglichen Zeitzone instanziieren. Passen Sie dann, nachdem das datetime-Objekt instanziiert wurde, die Zeitzone mit DateTime::setTimezone() .

Siehe diesen Code, wo ich Asia/Hong_Kong verwendet habe als Beispiel GMT+8 Zeitzone:

$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

Wenn alle Originaldaten immer konsequent als GMT+8 gemeint sind und Ihre PHP-Anwendung ebenfalls auf GMT+8 eingestellt ist (eingestellt mit date_default_timezone_set() , zum Beispiel), muss die anfängliche DateTimeZone nicht übergeben werden Objekt als neu erstelltes DateTime Objekte werden automatisch mit dieser Zeitzone erstellt.