En MySQL, puede convertir un valor de fecha y hora entre una zona horaria y otra usando CONVERT_TZ()
función. Esta función acepta 3 argumentos; el valor de fecha y hora, la zona horaria original y la zona horaria a la que convertir.
Sintaxis y ejemplos a continuación.
Sintaxis
Aquí está la sintaxis:
CONVERT_TZ(dt,from_tz,to_tz)
Donde dt
es la fecha/hora, from_tz
es la zona horaria original y to_tz
es la zona horaria a la que convertir.
Ejemplo
Aquí hay un ejemplo de uso.
SELECT CONVERT_TZ('2020-12-01 01:00:00','+00:00','+08:00') AS Result;
Resultado:
+---------------------+ | Result | +---------------------+ | 2020-12-01 09:00:00 | +---------------------+
Zonas horarias con nombre
También puede usar zonas horarias con nombre, como 'US/Eastern'
, 'Europe/Moscow'
, 'MET'
, etc.
Para hacer esto, primero deberá configurar las tablas de zonas horarias. El procedimiento de instalación de MySQL crea las tablas de zonas horarias, pero no las carga. Por lo tanto, primero deberá completar estas tablas.
Si intenta usar una zona horaria con nombre con esta función sin completar primero las tablas de zonas horarias, obtendrá un valor nulo.
SELECT CONVERT_TZ('2020-12-01 01:00:00','Europe/Helsinki','US/Eastern') AS Result;
Resultado:
+--------+ | Result | +--------+ | NULL | +--------+
Tenga en cuenta que incluso si completa las tablas de zonas horarias, es posible que deba actualizarlas periódicamente. Esto se debe a que la información puede cambiar ocasionalmente. Para obtener más información al respecto, consulte Compatibilidad con la zona horaria del servidor MySQL en el sitio web de documentación de MySQL.