MySQL CONVERT_TZ() mit Sommerzeit
Beim Speichern täglicher Warnungen in einer Datenbank, die in benutzerdefinierten lokalen Zeitzonen angegeben sind, Es ist wichtig, die Sommerzeit (DST) zu berücksichtigen. In diesem Artikel wird die Verwendung der Funktion CONVERT_TZ() zur Berücksichtigung der Sommerzeit untersucht und häufige Fragen im Zusammenhang mit ihrer Implementierung behandelt.
Frage 1: Zeitzonenkonvertierung mit Sommerzeit
Die Die Funktion CONVERT_TZ() berücksichtigt die Sommerzeit bei der Angabe von Zeitzonennamen. Beispielsweise sollte die Umrechnung der UTC-Zeit in die US-/Eastern-Zeit zu unterschiedlichen Ergebnissen führen, je nachdem, ob die Sommerzeit in Kraft ist oder nicht. Dies steht im Einklang mit Ihrem Verständnis, dass CONVERT_TZ('00:00:00', 'UTC', 'US/EASTERN') am 1. Januar „19:00:00“ und am 1. Juli „20:00:00“ zurückgeben sollte.
Frage 2: Aktualisierungen der MySQL-Zeitzonentabelle
Wenn die Da die Funktion CONVERT_TZ() ordnungsgemäß funktioniert, besteht im Allgemeinen keine Notwendigkeit, die Zeitzonentabelle von MySQL manuell zu aktualisieren. MySQL unterhält eine interne Datenbank, die Zeitzoneninformationen speichert und diese bei Bedarf basierend auf Änderungen der Zeitzonenbestimmungen aktualisiert. Wenn Sie jedoch Anpassungen an Ihren Zeitzoneneinstellungen vorgenommen haben, wird empfohlen, die Tabelle regelmäßig zu überprüfen, um die Genauigkeit sicherzustellen.
Frage 3: Nullwerte von CONVERT_TZ()
Wenn CONVERT_TZ() NULL zurückgibt, weist dies darauf hin, dass die MySQL-Zeitzonentabellen nicht richtig eingerichtet sind. Sie können dies überprüfen, indem Sie die folgende Abfrage ausführen:
SELECT CONVERT_TZ(now(), 'US/Eastern', 'US/Central');
Wenn diese Abfrage NULL zurückgibt, deutet dies darauf hin, dass die Tabellen nicht konfiguriert sind. Um dieses Problem zu beheben, finden Sie in der MySQL-Dokumentation Anweisungen zum Einrichten von Zeitzonentabellen.
Alternativer Ansatz
Wenn Sie sich nicht darauf verlassen möchten MySQL-Zeitzonentabellen können Sie den folgenden Ansatz verwenden:
Zum Beispiel :
SELECT utc_timezone() - interval user_timezone_offset_in_hours hour FROM userinfo a WHERE user_id = 999;
Das obige ist der detaillierte Inhalt vonWie geht die CONVERT_TZ()-Funktion von MySQL mit der Sommerzeit um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!