MySQL конвертирует из одного часового пояса в другой

Mysql Konvertiruet Iz Odnogo Casovogo Poasa V Drugoj



«Часовые пояса — одна из сложных концепций, с которыми приходится иметь дело разработчикам. Хотя инструменты и реализации в реляционных базах данных направлены на то, чтобы сделать их приемлемыми, они могут оказаться сложными и иногда приводить к ошибкам.

Однако в этой статье мы обсудим, как можно преобразовать время из одного часового пояса в другой с помощью MySQL».







Функция MySQL Convert_Tz()

Функция convert_tz() в MySQL позволяет нам конвертировать из одного часового пояса в другой. Синтаксис функции показан ниже:



CONVERT_TZ ( дт, from_tz, to_tz )


Функция принимает значение даты и времени для преобразования, часовой пояс, из которого вы хотите преобразовать, и преобразование, в которое вы хотите преобразовать.



MySQL позволяет указывать часовые пояса в виде имен или значений смещения. Затем функция вернет выбранный объект Datetime в целевом часовом поясе.





Пример 1

Ниже приведен пример, иллюстрирующий преобразование строки времени из EST в EAT с использованием смещения часового пояса.

Выбрать
convert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
«+03:00» ) в качестве время1;



Приведенный выше пример запроса должен вернуть результат:



| время1 |
| -------------------- |
| 2022 -08-09 01: 22 : 22 |

Пример 2

Как уже упоминалось, мы можем указать целевой часовой пояс по его имени. Однако для этого требуется загрузить и установить MySQL Timezones.

Вы можете запустить команду ниже, чтобы загрузить часовые пояса.

$ mysql_tzinfo_to_sql / usr / Поделиться / зонаинформация | mysql корень -п mysql


Если вы используете файл часового пояса, выполните команду:

mysql_tzinfo_to_sql tz_file tz_name | mysql корень -п mysql


Загрузите файлы часовых поясов в ресурсе ниже:

https: // dev.mysql.com / загрузки / часовые пояса.html


Загрузите файл:

mysql корень -п mysql < имя файла


Затем вы можете указать целевой часовой пояс с именем:

mysql > ВЫБЕРИТЕ CONVERT_TZ ( '2022-10-10 14:34:00' , 'США/Восток' , 'США/Центральный' ) В КАЧЕСТВЕ время ;


Приведенный выше запрос должен возвращать время, преобразованное в целевой часовой пояс, как:

+---------------------+
| время |
+---------------------+
| 2022 - 10 - 10 13 : 3. 4 :00 |
+---------------------+
1 строка в установлен ( 0,00 сек )

Конец

В этом коротком посте мы обсудили, как использовать функцию convert_tz в MySQL для преобразования времени из одного часового пояса в другой.

Удачного кодирования!!