MySQL konverterer fra en tidssone til en annen

MySQL konverterer fra en tidssone til en annen

“Timezones er et av de komplekse konseptene som utviklere må takle. Selv om verktøy og implementeringer i relasjonsdatabaser tar sikte på å gjøre dem tålelige, kan de vise seg å være utfordrende og noen ganger føre til feil.

I denne artikkelen vil vi imidlertid diskutere hvordan du kan konvertere en tid fra en tidssone til en annen ved hjelp av mysql.”

Mysql convert_tz () funksjon

Convert_tz () -funksjonen i MySQL gjør det mulig for oss å konvertere fra en tidssone til en annen. Funksjonssyntaksen er som vist:

Convert_tz (dt, from_tz, to_tz)


Funksjonen tar datetime -verdien som skal konverteres, tidssonen du ønsker å konvertere fra, og konverteringen til hvilken du vil konvertere.

MySQL lar deg spesifisere tidssonene som navn eller forskyvningsverdier. Funksjonen vil deretter returnere det valgte DateTime -objektet i Target TimeZone.

Eksempel 1

Nedenfor er et eksempel som illustrerer hvordan du konverterer en tidsstreng fra EST til å spise ved hjelp av tidssoneforskyvninger.

plukke ut
Convert_tz ('2022-08-08 22:22:22',
'+00: 00',
'+03: 00') som tid1;



Eksemplet spørring ovenfor skal returnere en utdata:

| tid1 |
| ------------------- |
| 2022-08-09 01: 22: 22 |

Eksempel 2

Som nevnt kan vi spesifisere måletidssonen med navnet. Dette krever imidlertid at du laster ned og installerer MySQL TimeZones.

Du kan kjøre kommandoen nedenfor for å laste tidssonene.

$ mysql_tzinfo_to_sql/usr/share/soneinfo | mysql -u root -p mysql


Hvis du bruker en TimeZone -fil, kjør kommandoen:

mysql_tzinfo_to_sql tz_file tz_name | mysql -u root -p mysql


Last ned tidssonefilene i ressursen nedenfor:

https: // dev.mysql.com/nedlastinger/tidssoner.html


Last inn filen:

mysql -u root -p mysql < file_name


Du kan deretter spesifisere måletidssonen med navnet:

MySQL> Select Convert_tz ('2022-10-10 14:34:00', 'US/Eastern', 'Us/Central') som tid;


Spørringen ovenfor skal returnere tiden som er konvertert til måletidssonen som:

+---------------------+
| tid |
+---------------------+
| 2022-10-10 13:34:00 |
+---------------------+
1 rad i sett (0.00 sek)

Slutt

I dette korte innlegget diskuterte vi hvordan du bruker Convert_tz -funksjonen i MySQL for å konvertere tid fra en tidssone til en annen.

Glad koding!!