In MySQL können Sie mit CONVERT_TZ()
einen datetime-Wert zwischen einer Zeitzone in eine andere umwandeln Funktion. Diese Funktion akzeptiert 3 Argumente; den datetime-Wert, die ursprüngliche Zeitzone und die Zeitzone, in die konvertiert werden soll.
Syntax und Beispiele unten.
Syntax
Hier ist die Syntax:
CONVERT_TZ(dt,from_tz,to_tz)
Wobei dt
ist das Datum/die Uhrzeit, from_tz
ist die ursprüngliche Zeitzone und to_tz
ist die Zeitzone, in die konvertiert werden soll.
Beispiel
Hier ist ein Anwendungsbeispiel.
SELECT CONVERT_TZ('2020-12-01 01:00:00','+00:00','+08:00') AS Result;
Ergebnis:
+---------------------+ | Result | +---------------------+ | 2020-12-01 09:00:00 | +---------------------+
Benannte Zeitzonen
Sie können auch benannte Zeitzonen wie 'US/Eastern'
verwenden , 'Europe/Moscow'
, 'MET'
usw.
Dazu müssen Sie zuerst die Zeitzonentabellen einrichten. Die MySQL-Installationsprozedur erstellt die Zeitzonentabellen, lädt sie jedoch nicht. Daher müssen Sie diese Tabellen zuerst füllen.
Wenn Sie versuchen, eine benannte Zeitzone mit dieser Funktion zu verwenden, ohne zuerst die Zeitzonentabellen zu füllen, erhalten Sie einen Nullwert.
SELECT CONVERT_TZ('2020-12-01 01:00:00','Europe/Helsinki','US/Eastern') AS Result;
Ergebnis:
+--------+ | Result | +--------+ | NULL | +--------+
Beachten Sie, dass Sie die Zeitzonentabellen möglicherweise regelmäßig aktualisieren müssen, selbst wenn Sie sie auffüllen. Dies liegt daran, dass sich die Informationen gelegentlich ändern können. Weitere Informationen hierzu finden Sie unter MySQL Server Time Zone Support auf der MySQL-Dokumentationswebsite.