“Le zone dei tempi sono uno dei concetti complessi che gli sviluppatori hanno a che fare. Sebbene gli strumenti e le implementazioni nei database relazionali mirino a renderli tollerabili, possono rivelarsi impegnativi e talvolta portare a errori.
In questo articolo, tuttavia, discuteremo di come puoi convertire un tempo da un fuso orario a un altro usando MySQL."
Funzione mysql convert_tz ()
La funzione convert_tz () in mysql ci consente di convertire da un fuso orario in un altro. La sintassi della funzione è come mostrata:
Convert_tz (dt, from_tz, to_tz)
La funzione prende da convertire il valore DateTime, il fuso orario da cui si desidera convertire e il convertito a cui si desidera convertire.
MySQL ti consente di specificare i fulmine come nomi o valori di offset. La funzione restituirà quindi l'oggetto DateTime selezionato nel fuso orario di destinazione.
Esempio 1
Di seguito è riportato un esempio che illustra come convertire una stringa di tempo da EST a mangiare usando gli offset del fuso orario.
Selezionare
convert_tz ('2022-08-08 22:22:22',
'+00: 00',
'+03: 00') come tempo1;
La query di esempio sopra dovrebbe restituire un output:
| time1 |
| ----------------------- |
| 2022-08-09 01: 22: 22 |
Esempio 2
Come accennato, possiamo specificare il fuso orario di destinazione con il suo nome. Tuttavia, questo richiede di scaricare e installare zone mysql.
È possibile eseguire il comando qui sotto per caricare gli zone di tempori.
$ mysql_tzinfo_to_sql/usr/share/zoneinfo | mysql -u root -p mysql
Se si utilizza un file di fuso orario, eseguire il comando:
mysql_tzinfo_to_sql tz_file tz_name | mysql -u root -p mysql
Scarica i file del fuso orario nella risorsa di seguito:
https: // dev.mysql.com/download/zones.html
Carica il file:
mysql -u root -p mysql < file_name
È quindi possibile specificare il fuso orario di destinazione con il nome:
mysql> Seleziona convert_tz ('2022-10-10 14:34:00', 'US/Eastern', 'US/Central') come tempo;
La query sopra dovrebbe restituire il tempo convertito nel fuso orario target come:
+---------------------+
| tempo |
+---------------------+
| 2022-10-10 13:34:00 |
+---------------------+
1 riga in set (0.00 sec)
FINE
In questo breve post, abbiamo discusso di come utilizzare la funzione convert_tz in mysql per convertire il tempo da un fuso orario a un altro.
Codice felice!!