Heim > Datenbank > MySQL-Tutorial > Behandelt die Funktion CONVERT_TZ() von MySQL die Sommerzeit und wie kann ich Zeitzonenprobleme beheben?

Behandelt die Funktion CONVERT_TZ() von MySQL die Sommerzeit und wie kann ich Zeitzonenprobleme beheben?

Mary-Kate Olsen
Freigeben: 2024-11-19 20:07:02
Original
894 Leute haben es durchsucht

Does MySQL's CONVERT_TZ() Function Handle Daylight Saving Time, and How Can I Troubleshoot Time Zone Issues?

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');
Nach dem Login kopieren

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage