MySQL konverterer fra én tidszone til en anden

Mysql Konverterer Fra En Tidszone Til En Anden



“Tidszoner er et af de komplekse koncepter, som udviklere skal forholde sig til. Selvom værktøjer og implementeringer i relationelle databaser har til formål at gøre dem tolerable, kan de vise sig udfordrende og nogle gange føre til fejl.

I denne artikel vil vi dog diskutere, hvordan du kan konvertere en tid fra en tidszone til en anden ved hjælp af MySQL.'







MySQL Convert_Tz() Funktion

Funktionen convert_tz() i MySQL gør det muligt for os at konvertere fra en tidszone til en anden. Funktionens syntaks er som vist:



CONVERT_TZ ( dt,fra_tz,til_tz )


Funktionen tager den datetime-værdi, der skal konverteres, den tidszone, du ønsker at konvertere fra, og den konverter, du vil konvertere til.



MySQL giver dig mulighed for at angive tidszonerne som navne eller offsetværdier. Funktionen returnerer derefter det valgte Datetime-objekt i måltidszonen.





Eksempel 1

Nedenfor er et eksempel, der illustrerer, hvordan man konverterer en tidsstreng fra EST til EAT  ved hjælp af tidszoneforskydninger.

Vælg
konverter_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) som tid1;



Eksempelforespørgslen ovenfor skulle returnere et output:



| tid 1 |
| ------------------- |
| 2022 -08-09 01: 22 : 22 |

Eksempel 2

Som nævnt kan vi angive måltidszonen ved dens navn. Dette kræver dog, at du downloader og installerer MySQL Timezones.

Du kan køre kommandoen nedenfor for at indlæse tidszonerne.

$ mysql_tzinfo_to_sql / usr / del / zoneinfo | mysql -i rod -s mysql


Hvis du bruger en tidszonefil, skal du køre kommandoen:

mysql_tzinfo_to_sql tz_file tz_name | mysql -i rod -s mysql


Download tidszonefilerne i ressourcen nedenfor:

https: // dev.mysql.com / Downloads / tidszoner.html


Indlæs filen:

mysql -i rod -s mysql < filnavn


Du kan derefter angive måltidszonen med navnet:

mysql > VÆLG CONVERT_TZ ( '10-10-2022 14:34:00' , 'US/Østlig' , 'US/Central' ) SOM tid ;


Forespørgslen ovenfor skulle returnere tiden konverteret til måltidszonen som:

+----------------------------+
| tid |
+----------------------------+
| 2022 - 10 - 10 13 : 3. 4 :00 |
+----------------------------+
1 række i sæt ( 0,00 sek )

Ende

I dette korte indlæg diskuterede vi, hvordan man bruger convert_tz-funktionen i MySQL til at konvertere tid fra en tidszone til en anden.

God kodning!!