„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!!