'Les zones horàries són un dels conceptes complexos que han de tractar els desenvolupadors. Tot i que les eines i les implementacions en bases de dades relacionals tenen com a objectiu fer-les tolerables, poden resultar difícils i de vegades conduir a errors.
En aquest article, però, parlarem de com podeu convertir una hora d'una zona horària a una altra utilitzant MySQL.
Funció MySQL Convert_Tz().
La funció convert_tz() de MySQL ens permet convertir d'una zona horària a una altra. La sintaxi de la funció és la que es mostra:
CONVERT_TZ ( dt,de_tz,a_tz )
La funció pren el valor de data i hora a convertir, la zona horària des de la qual voleu convertir i la conversió a la qual voleu convertir.
MySQL us permet especificar les zones horàries com a noms o valors de compensació. Aleshores, la funció retornarà l'objecte Datetime seleccionat a la zona horària de destinació.
Exemple 1
A continuació es mostra un exemple que il·lustra com convertir una cadena horària d'EST a EAT utilitzant els desplaçaments de la zona horària.
seleccionarconvertir_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) com temps 1;
La consulta d'exemple anterior hauria de retornar una sortida:
| temps 1 |
| ------------------- |
| 2022 -08-09 01: 22 : 22 |
Exemple 2
Com s'ha esmentat, podem especificar la zona horària objectiu pel seu nom. Tanmateix, això requereix que descarregueu i instal·leu MySQL Timezones.
Podeu executar l'ordre següent per carregar les zones horàries.
$ mysql_tzinfo_to_sql / usr / Compartir / info de zona | mysql -en arrel -p mysql
Si utilitzeu un fitxer de zona horària, executeu l'ordre:
Baixeu els fitxers de la zona horària al recurs següent:
Carregueu el fitxer:
A continuació, podeu especificar la zona horària de destinació amb el nom:
La consulta anterior hauria de retornar l'hora convertida a la zona horària objectiu com:
| temps |
+---------------------+
| 2022 - 10 - 10 13 : 34 :00 |
+---------------------+
1 fila en conjunt ( 0.00 sec )
Final
En aquesta breu publicació, vam parlar de com utilitzar la funció convert_tz a MySQL per convertir l'hora d'una zona horària a una altra.
Feliç codificació!!