“Las zonas horarias son uno de los conceptos complejos que los desarrolladores tienen que lidiar. Aunque las herramientas e implementaciones en las bases de datos relacionales tienen como objetivo hacerlas tolerables, pueden resultar desafiantes y, a veces, conducir a errores.
En este artículo, sin embargo, discutiremos cómo puede convertir un tiempo de una zona horaria a otra usando mysql."
Función mysql convert_tz ()
La función convert_tz () en mysql nos permite convertir de una zona horaria a otra. La sintaxis de la función es como se muestra:
Convert_tz (dt, from_tz, to_tz)
La función toma que se convierte el valor de fecha y hora, la zona horaria de la que desea convertir y el converso a la que desea convertir.
MySQL le permite especificar las zonas horarias como nombres o valores de compensación. La función luego devolverá el objeto DateTime seleccionado en la zona horaria de destino.
Ejemplo 1
A continuación se muestra un ejemplo que ilustra cómo convertir una cadena de tiempo de EST para comer usando las compensaciones de la zona horaria.
seleccionar
Convert_tz ('2022-08-08 22:22:22',
'+00: 00',
'+03: 00') como Time1;
La consulta de ejemplo anterior debe devolver una salida:
| TIME1 |
| ------------------- |
| 2022-08-09 01: 22: 22 |
Ejemplo 2
Como se mencionó, podemos especificar la zona horaria de destino por su nombre. Sin embargo, esto requiere que descargue e instale MySQL TimeZones.
Puede ejecutar el comando a continuación para cargar las zonas horarias.
$ mysql_tzinfo_to_sql/usr/share/zoneinfo | mysql -u root -p mysql
Si está utilizando un archivo de zona horaria, ejecute el comando:
mysql_tzinfo_to_sql tz_file tz_name | mysql -u root -p mysql
Descargue los archivos TimeZone en el recurso a continuación:
https: // dev.mysql.com/descargas/zonas horarias.html
Cargue el archivo:
mysql -u root -p mysql < file_name
Luego puede especificar la zona horaria de destino con el nombre:
mysql> seleccione Convert_tz ('2022-10-10 14:34:00', 'US/Eastern', 'US/Central') como tiempo;
La consulta anterior debe devolver el tiempo convertido a la zona horaria de destino como:
+---------------------+
| tiempo |
+---------------------+
| 2022-10-10 13:34:00 |
+---------------------+
1 fila en el set (0.00 seg)
Fin
En esta breve publicación, discutimos cómo usar la función convert_tz en mysql para convertir el tiempo de una zona horaria a otra.
Codificación feliz!!