MySQL CONVERT_TZ() mit Überlegungen zur Sommerzeit
Frage 1:
Ja, Ihr Verständnis ist richtig. CONVERT_TZ() berücksichtigt bei der Angabe des Zeitzonennamens die Sommerzeit. Zum Beispiel würde CONVERT_TZ('00:00:00', 'UTC', 'US/EASTERN') tatsächlich '19:00:00' am 1. Januar und '20:00:00' am 1. Juli zurückgeben.
Frage 2:
Nein, Sie müssen die Zeitzonentabelle von MySQL nicht ständig aktualisieren, um die UTC-Offsets der Zeitzone auf dem neuesten Stand zu halten. MySQL aktualisiert die Tabelle automatisch, wenn sich die Zeitzonenregeln ändern.
Frage 3:
Das Ergebnis von SELECT CONVERT_TZ('2004-01-01 12:00:00' ,'GMT','MET') mit dem Ergebnis „NULL“ könnte darauf hindeuten, dass die Zeitzonentabellen nicht ordnungsgemäß eingerichtet sind.
Um dies zu überprüfen, können Sie die folgende Abfrage ausführen:
SELECT CONVERT_TZ(now(),'US/Eastern','US/Central');
Wenn das Ergebnis nicht NULL ist, sind die Zeitzonentabellen korrekt eingerichtet.
Alternative Berechnung des Zeitzonenversatzes:
Wenn Sie keine Zeit haben Wenn Sie Zonentabellen eingerichtet haben, können Sie den Zeitzonenversatz dennoch mit der folgenden Abfrage berechnen:
select utc_timezone() - interval user_timezone_offset_in_hours hour from userinfo a where user_id = 999;
Dieser Ansatz erfordert jedoch, dass Sie den Zeitzonenversatz des Benutzers manuell aktualisieren.
Zeitzone über JavaScript abrufen:
Für Webanwendungen können Sie die Zeitzone des Benutzers über JavaScript abrufen. Der folgende Link bietet ein Beispiel dafür:
[JavaScript Time Zone Detection](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl .DateTimeFormat)
Interval für Zeitberechnungen verwenden:
Das Schlüsselwort INTERVAL ermöglicht eine bequeme Addition und Subtraktion von Zeitwerten. Die folgende Abfrage subtrahiert beispielsweise 1 Tag, 4 Stunden und 8 Minuten von der aktuellen Zeit:
select now() a, now() - interval 1 day + interval 4 hour + interval 8 minute b;
Das obige ist der detaillierte Inhalt vonBehandelt die Funktion CONVERT_TZ() von MySQL die Sommerzeit und wie kann ich Zeitzonenprobleme beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!