'Aikavyöhykkeet ovat yksi monimutkaisista käsitteistä, joita kehittäjien on käsiteltävä. Vaikka relaatiotietokantojen työkalut ja toteutukset pyrkivät tekemään niistä siedettäviä, ne voivat osoittautua haastaviksi ja joskus johtaa virheisiin.
Tässä artikkelissa keskustelemme kuitenkin siitä, kuinka voit muuntaa ajan aikavyöhykkeestä toiseen MySQL:n avulla.
MySQL Convert_Tz() -funktio
MySQL:n convert_tz()-funktion avulla voimme muuntaa aikavyöhykkeestä toiseen. Toiminnon syntaksi on seuraavanlainen:
CONVERT_TZ ( dt,from_tz,to_tz )
Funktio ottaa muunnettavan päivämäärä-ajan arvon, aikavyöhykkeen, josta haluat muuntaa, ja muunnoksen, johon haluat muuntaa.
MySQL antaa sinun määrittää aikavyöhykkeet nimiksi tai offset-arvoiksi. Funktio palauttaa sitten valitun Datetime-objektin kohdeaikavyöhykkeellä.
Esimerkki 1
Alla on esimerkki, joka havainnollistaa, kuinka aikamerkkijono muunnetaan EST:stä EAT:ksi käyttämällä aikavyöhykesiirtymiä.
valitseconvert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) kuten aika1;
Yllä olevan esimerkkikyselyn pitäisi palauttaa tulos:
| aika1 |
| -------------------- |
| 2022 -08-09 01: 22 : 22 |
Esimerkki 2
Kuten mainittiin, voimme määrittää kohdeaikavyöhykkeen sen nimellä. Tämä edellyttää kuitenkin MySQL-aikavyöhykkeiden lataamista ja asentamista.
Voit ladata aikavyöhykkeet suorittamalla alla olevan komennon.
$ mysql_tzinfo_to_sql / usr / Jaa / vyöhyketiedot | mysql -sisään juuri -s mysql
Jos käytät aikavyöhyketiedostoa, suorita komento:
Lataa aikavyöhyketiedostot alla olevasta resurssista:
Lataa tiedosto:
Voit sitten määrittää kohdeaikavyöhykkeen nimellä:
Yllä olevan kyselyn pitäisi palauttaa tavoiteaikavyöhykkeelle muunnetun ajan seuraavasti:
| aika |
+----------------------+
| 2022 - 10 - 10 13 : 3. 4 :00 |
+----------------------+
1 rivi sisään aseta ( 0,00 sek )
Loppu
Tässä lyhyessä viestissä keskustelimme kuinka käyttää convert_tz-funktiota MySQL:ssä ajan muuntamiseen aikavyöhykkeestä toiseen.
Hyvää koodausta!!