MySQL konvertiert von einer Zeitzone in eine andere

MySQL konvertiert von einer Zeitzone in eine andere

„Timezones sind eines der komplexen Konzepte, mit denen sich Entwickler befassen müssen. Obwohl Tools und Implementierungen in relationalen Datenbanken darauf abzielen, sie tolerierbar zu machen, können sie sich als herausfordernd erweisen und manchmal zu Fehlern führen.

In diesem Artikel werden wir jedoch diskutieren, wie Sie mit MySQL eine Zeit von One Timezone in ein anderes konvertieren können.”

MySQL convert_tz () Funktion

Die Funktion convert_tz () in MySQL ermöglicht es uns, von One Timezone in ein anderes zu konvertieren. Die Funktionssyntax ist wie gezeigt:

Convert_tz (dt, von_tz, to_tz)


Die Funktion nimmt den zu konvertierenden DateTime -Wert, die Zeitzone, aus der Sie konvertieren möchten, und den Konvertieren, in den Sie konvertieren möchten.

Mit MySQL können Sie die Zeitzonen als Namen oder Offset -Werte angeben. Die Funktion gibt dann das ausgewählte DateTime -Objekt in die Zielzeitzone zurück.

Beispiel 1

Im Folgenden finden Sie ein Beispiel.

wählen
convert_tz ('2022-08-08 22:22:22',
'+00: 00',
'+03: 00') als Zeit1;



Die obige Beispielabfrage sollte eine Ausgabe zurückgeben:

| time1 |
| ------------------- |
| 2022-08-09 01: 22: 22 |

Beispiel 2

Wie bereits erwähnt, können wir die Zielzeitzone mit seinem Namen angeben. Auf diese Weise müssen Sie MySQL TimeZones herunterladen und installieren.

Sie können den folgenden Befehl ausführen, um die Zeitzonen zu laden.

$ mysql_tzinfo_to_sql/usr/share/zoneInfo | MySQL -U root -p mysql


Wenn Sie eine Zeitzone -Datei verwenden, führen Sie den Befehl aus:

MySQL_TZINFO_TO_SQL TZ_FILE TZ_NAME | MySQL -U root -p mysql


Laden Sie die TimeZone -Dateien in der folgenden Ressource herunter:

https: // dev.Mysql.com/downloads/timezones.html


Laden Sie die Datei:

MySQL -U root -p mysql < file_name


Sie können dann die Zielzeitzone mit dem Namen angeben:

MySQL> Wählen Sie als Zeit convert_tz ('2022-10-10 14:34:00', 'US/Eastern', 'US/Central') als Zeit;


Die obige Abfrage sollte die Zeit zurückgeben, die in die Zielzeitzone konvertiert wurde wie:

+---------------------+
| Zeit |
+---------------------+
| 2022-10-10 13:34:00 |
+---------------------+
1 Zeile in Set (0.00 Sek.)

Ende

In diesem kurzen Beitrag haben wir besprochen, wie die Funktion convert_tz in MySQL verwendet wird, um die Zeit von One Timezone in einen anderen zu konvertieren.

Glückliche Codierung!!