MySQL convierte de una zona horaria a otra

Mysql Convierte De Una Zona Horaria A Otra



“Las zonas horarias son uno de los conceptos complejos con los que tienen que lidiar los desarrolladores. Aunque las herramientas y las implementaciones en las bases de datos relacionales tienen como objetivo hacerlas tolerables, pueden resultar desafiantes y, a veces, generar errores.

En este artículo, sin embargo, discutiremos cómo puede convertir una hora de una zona horaria a otra utilizando 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:



CONVERTIR_TZ ( dt,desde_tz,a_tz )

 
La función toma el valor de fecha y hora que se va a convertir, la zona horaria desde la que desea convertir y la conversión a la que desea convertir.



MySQL le permite especificar las zonas horarias como nombres o valores de compensación. A continuación, la función devolverá el objeto de fecha y hora 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 a EAT utilizando las compensaciones de zona horaria.

Seleccione
convertir_tz ( '2022-08-08 22:22:22' ,
    '+00:00' ,
    '+03:00' ) como tiempo1;

 

La consulta de ejemplo anterior debería devolver una salida:



| tiempo1 |
| ------------------- |
| 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 siguiente comando para cargar las zonas horarias.

$ mysql_tzinfo_to_sql / usuario / Cuota / zonainfo | mysql -en raíz -pags mysql

 
Si está utilizando un archivo de zona horaria, ejecute el comando:

mysql_tzinfo_to_sql tz_file tz_name | mysql -en raíz -pags mysql

 
Descargue los archivos de zona horaria en el siguiente recurso:

https: // dev.mysql.com / descargas / zonas horarias.html

 
Cargue el archivo:

mysql -en raíz -pags mysql < Nombre del archivo

 
A continuación, puede especificar la zona horaria de destino con el nombre:

mysql > SELECCIONE CONVERTIR_TZ ( '2022-10-10 14:34:00' , 'EE. UU./Este' , 'EE. UU./Central' ) COMO tiempo ;

 
La consulta anterior debería devolver la hora convertida a la zona horaria de destino como:

+---------------------+
| tiempo                 |
+---------------------+
| 2022 - 10 - 10 13 : 34 :00 |
+---------------------+
1 fila en establecer ( 0.00 segundo )

 

Final

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.

¡Feliz codificación!