MySQL muuntaa yhdestä aikavyöhykkeestä toiseen

Mysql Muuntaa Yhdesta Aikavyohykkeesta Toiseen



'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ä.

valitse
convert_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:

mysql_tzinfo_to_sql tz_file tz_name | mysql -sisään juuri -s mysql


Lataa aikavyöhyketiedostot alla olevasta resurssista:

https: // dev.mysql.com / lataukset / timezones.html


Lataa tiedosto:

mysql -sisään juuri -s mysql < Tiedoston nimi


Voit sitten määrittää kohdeaikavyöhykkeen nimellä:

mysql > VALITSE CONVERT_TZ ( '2022-10-10 14:34:00' , 'USA/Itä' , 'USA/Keski' ) KUTEN aika ;


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!!