Konvertieren des UTC-Datums in die lokale Zeitzone in MySQL Select Query
Problem
Ein MySQL Die Abfrage erfordert die Konvertierung einer „displaytime“-Spalte, in der UTC-Zeitstempel gespeichert sind, in die lokale Zeitzone. Die Verwendung der Funktion CONVERT_TZ() führt jedoch nicht zu den erwarteten Ergebnissen.
Antwort
1. Fehlermeldung überprüfen
Überprüfen Sie die Fehlermeldung, um festzustellen, warum CONVERT_TZ() nicht funktioniert.
2. Stellen Sie sicher, dass kompatible Spaltentypen vorhanden sind
CONVERT_TZ() erfordert, dass die Eingabespalte ein Zeitstempel- oder Datumsdatentyp ist. Überprüfen Sie den Datentyp der Spalte „displaytime“.
3. Verwenden Sie die richtige Syntax
Die korrekte Syntax für CONVERT_TZ() ist:
CONVERT_TZ(timestamp, source_timezone, destination_timezone)
4. Beispielverwendung
Um beispielsweise die Anzeigezeit von UTC in US Eastern Time (-05:00 GMT) umzuwandeln, verwenden Sie:
SELECT CONVERT_TZ(displaytime, 'UTC', 'America/New_York');
5. Überprüfen Sie die Zeitzonentabelle
Stellen Sie sicher, dass die MySQL-Zeitzonentabellen ordnungsgemäß initialisiert sind. Führen Sie zur Überprüfung die folgenden Befehle aus:
SELECT * FROM mysql.time_zone; SELECT * FROM mysql.time_zone_name;
6. Zeitzonendaten laden
Wenn die Zeitzonentabellen leer sind, verwenden Sie das Programm mysql_tzinfo_to_sql, um sie zu laden:
mysql_tzinfo_to_sql /usr/share/zoneinfo
Das obige ist der detaillierte Inhalt vonWie konvertiere ich das UTC-Datum in der MySQL-Auswahlabfrage in die lokale Zeitzone?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!