Heim > Artikel > Backend-Entwicklung > PHP konvertiert die GMT 8-Zeichenfolge der Datenbank in die lokale Zeitzone des Benutzers
Sobald der Benutzer den Browser öffnet, verwenden Sie js, um die Zeitzone abzurufen und Cookies zu schreiben, können Sie eine Open-Source-Bibliothek auf github verwenden, um
https://github.com/js-cookie/ zu betreiben. js-cookie
Der spezifische Code lautet wie folgt
// 写入时区至Cookie,单位为分钟,但是注意,这里的Offset是负数,表示的是本地时间与GMT的差 var d = new Date(); Cookies.set('localZone',d.getTimezoneOffset());
Auf der PHP-Serverseite, wenn der im Datenbankfeld gespeicherte Zeitwert a ist Zeitstempel, es wird viel einfacher zu handhaben sein, aber was hier beachtet werden muss, ist, dass Sie es verarbeiten müssen, wenn Ihr Server standardmäßig den Zeitstempel der GMT+8-Zeitzone verwendet wie folgt (hier verwende ich das ThinkPHP-Framework)
$tmp = strtotime($strTime); //这里将Y-m-d H:i 格式的字符串转换成时间戳 $tmp = $tmp - (8 * 3600); // 服务器储存的字符串是GMT+8的,所以,这里我减去8小时的毫秒数,也即得到GMT的时间戳 $timeZone = -cookie('localZone'); // 因为为差,需要加上,故转成正数 $tmp = $tmp + ($timeZone * 60); // 加上浏览器所在地方的时区 $logInfo[$i]['access_time'] = date('Y-m-d H:i',$tmp); // 格式化时间戳为Y-m-d H:i
Das Obige stellt vor, wie PHP die GMT 8-Zeichenfolge der Datenbank in die lokale Zeitzone des Benutzers konvertiert, einschließlich des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.