«Tidssoner er et av de komplekse konseptene som utviklere må forholde seg til. Selv om verktøy og implementeringer i relasjonsdatabaser har som mål å gjøre dem tolerable, 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 å bruke 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 dato- og klokkeslettverdien som skal konverteres, tidssonen du ønsker å konvertere fra, og konverteren du vil konvertere til.
MySQL lar deg spesifisere tidssonene som navn eller offset-verdier. Funksjonen vil da returnere det valgte Datetime-objektet i måltidssonen.
Eksempel 1
Nedenfor er et eksempel som illustrerer hvordan du konverterer en tidsstreng fra EST til EAT ved å bruke tidssoneforskyvningene.
å velgekonverter_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) som tid1;
Eksempelspørringen ovenfor skal returnere en utdata:
| tid 1 |
| ------------------ |
| 2022 -08-09 01: 22 : 22 |
Eksempel 2
Som nevnt kan vi spesifisere måltidssonen 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 / dele / soneinfo | mysql -i rot -s mysql
Hvis du bruker en tidssonefil, kjør kommandoen:
Last ned tidssonefilene i ressursen nedenfor:
Last inn filen:
Du kan deretter spesifisere måltidssonen med navnet:
Spørringen ovenfor skal returnere tiden konvertert til måltidssonen som:
| tid |
+----------------------------+
| 2022 - 10 - 10 1. 3 : 3. 4 :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.
Lykke til med koding!!