»Časovni pasovi so eden izmed zapletenih konceptov, s katerimi se morajo ukvarjati razvijalci. Čeprav so orodja in implementacije v relacijskih zbirkah podatkov namenjene temu, da so sprejemljivi, se lahko izkažejo za zahtevne in včasih povzročijo napake.
V tem članku pa bomo razpravljali o tem, kako lahko s pomočjo MySQL pretvorite čas iz enega časovnega pasu v drugega.«
Funkcija MySQL Convert_Tz().
Funkcija convert_tz() v MySQL nam omogoča pretvorbo iz enega časovnega pasu v drugega. Sintaksa funkcije je prikazana:
CONVERT_TZ ( dt,od_tz,do_tz )
Funkcija prevzame vrednost datuma in časa, ki jo želite pretvoriti, časovni pas, iz katerega želite pretvoriti, in pretvorbo, v katero želite pretvoriti.
MySQL vam omogoča, da določite časovne pasove kot imena ali vrednosti odmikov. Funkcija bo nato vrnila izbrani objekt Datetime v ciljnem časovnem pasu.
Primer 1
Spodaj je primer, ki prikazuje, kako pretvoriti časovni niz iz EST v EAT z uporabo odmikov časovnega pasu.
izberiteconvert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) kot čas1;
Zgornji primer poizvedbe bi moral vrniti rezultat:
| čas1 |
| ------------------- |
| 2022 -08-09 01: 22 : 22 |
Primer 2
Kot že omenjeno, lahko določimo ciljni časovni pas z njegovim imenom. Vendar to zahteva, da prenesete in namestite MySQL Timezones.
Za nalaganje časovnih pasov lahko zaženete spodnji ukaz.
$ mysql_tzinfo_to_sql / usr / deliti / zonainfo | mysql -in korenina -str mysql
Če uporabljate datoteko časovnega pasu, zaženite ukaz:
Prenesite datoteke časovnih pasov v vir spodaj:
Naloži datoteko:
Nato lahko določite ciljni časovni pas z imenom:
Zgornja poizvedba bi morala vrniti čas, pretvorjen v ciljni časovni pas kot:
| čas |
+--------------------+
| 2022 - 10 - 10 13 : 3. 4 :00 |
+--------------------+
1 vrstica v set ( 0,00 sek )
Konec
V tej kratki objavi smo razpravljali o tem, kako uporabiti funkcijo convert_tz v MySQL za pretvorbo časa iz enega časovnega pasu v drugega.
Veselo kodiranje!!