Mysql przekształca się z jednej strefy czasowej na inną

Mysql przekształca się z jednej strefy czasowej na inną

„Strefy czasowe to jedna ze złożonych koncepcji, z którymi mają do czynienia programiści. Chociaż narzędzia i implementacje w relacyjnych bazach danych mają na celu uczynienie ich tolerowanym, mogą okazać się trudne, a czasem prowadzić do błędów.

W tym artykule omówimy jednak, w jaki sposób możesz przekonwertować czas z jednej strefy czasowej na inny za pomocą MySQL."

Funkcja mysql konwertu ()

Funkcja Convert_tz () w MySQL umożliwia nam konwersję z jednej strefy czasowej na inną. Składnia funkcji jest jak pokazana:

Convert_tz (dt, from_tz, to_tz)


Funkcja przyjmuje wartość datetime do konwersji, stref czasowy, z którego chcesz się przekonwertować, i konwersja, którą chcesz przekonwertować.

MySQL pozwala określić strefy czasowe jako nazwy lub wartości przesunięcia. Funkcja zwróci następnie wybrany obiekt DATETIME w docelowej strefie czasowej.

Przykład 1

Poniżej znajduje się przykład, który ilustruje sposób konwersji struny czasowej z EST na jedzenie za pomocą przesunięć strefy czasowej.

wybierać
Convert_tz („2022-08-08 22:22:22”,
„+00: 00”,
„+03: 00”) jako Time1;



Powyższe zapytanie powinno zwrócić dane wyjściowe:

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

Przykład 2

Jak wspomniano, możemy określić docelową strefę czasową po jego nazwie. Wymaga to jednak pobrania i zainstalowania stref czasowych MySQL.

Możesz uruchomić poniższe polecenie, aby załadować strefy czasowe.

$ mysql_tzinfo_to_sql/usr/share/zoneinfo | mysql -u root -p mysql


Jeśli używasz pliku strefy czasu, uruchom polecenie:

mysql_tzinfo_to_sql tz_file tz_name | mysql -u root -p mysql


Pobierz pliki strefy czasu w poniższym zasobie:

https: // dev.Mysql.com/pobieranie/strefy czasowe.html


Załaduj plik:

mysql -u root -p mysql < file_name


Następnie możesz określić docelową strefę czasową o nazwie:

mysql> Wybierz konwerty_tz („2022-10-10 14:34:00”, „US/Eastern”, „US/Central”) jako czas;


Powyższe zapytanie powinno zwrócić czas przekonwertowany na docelową strefę czasową jako:

+---------------------+
|. czas |
+---------------------+
|. 2022-10-10 13:34:00 |
+---------------------+
1 wiersz w zestawie (0.00 s)

Koniec

W tym krótkim poście omówiliśmy, jak używać funkcji Convert_TZ w MySQL, aby konwertować czas z strefy czasowej na inny.

Szczęśliwe kodowanie!!