MySQL konvertuoja iš vienos laiko juostos į kitą

Mysql Konvertuoja Is Vienos Laiko Juostos I Kita



„Laiko juostos yra viena iš sudėtingų sąvokų, su kuriomis kūrėjai turi susidurti. Nors įrankius ir diegimus reliacinėse duomenų bazėse siekiama padaryti juos toleruojamus, jie gali būti sudėtingi ir kartais sukelti klaidų.

Tačiau šiame straipsnyje aptarsime, kaip galite konvertuoti laiką iš vienos laiko juostos į kitą naudodami MySQL.







MySQL Convert_Tz() funkcija

„MySQL“ funkcija convert_tz() leidžia konvertuoti iš vienos laiko juostos į kitą. Funkcijos sintaksė yra tokia, kaip parodyta:



CONVERT_TZ ( dt,nuo_tz,iki_tz )


Funkcija paima konvertuojamą datos ir laiko reikšmę, laiko juostą, iš kurios norite konvertuoti, ir konvertavimą, į kurį norite konvertuoti.



MySQL leidžia nurodyti laiko juostas kaip pavadinimus arba poslinkio reikšmes. Tada funkcija grąžins pasirinktą Datetime objektą tikslinėje laiko juostoje.





1 pavyzdys

Toliau pateikiamas pavyzdys, iliustruojantis, kaip konvertuoti laiko eilutę iš EST į EAT naudojant laiko juostos poslinkius.

pasirinkite
konvertuoti_tz ( „2022-08-08 22:22:22“ ,
'+00:00' ,
'+03:00' ) kaip laikas1;



Aukščiau pateikta pavyzdinė užklausa turėtų grąžinti išvestį:



| laikas1 |
| ------------------- |
| 2022 m -08-09 01: 22 : 22 |

2 pavyzdys

Kaip minėta, tikslinę laiko juostą galime nurodyti jos pavadinimu. Tačiau tam reikia atsisiųsti ir įdiegti MySQL laiko zonas.

Norėdami įkelti laiko juostas, galite paleisti toliau pateiktą komandą.

$ mysql_tzinfo_to_sql / usr / Dalintis / zonos informacija | mysql šaknis -p mysql


Jei naudojate laiko juostos failą, paleiskite komandą:

mysql_tzinfo_to_sql tz_file tz_name | mysql šaknis -p mysql


Atsisiųskite laiko juostos failus iš toliau pateikto šaltinio:

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


Įkelti failą:

mysql šaknis -p mysql < failo pavadinimas


Tada galite nurodyti tikslinę laiko juostą pavadinimu:

mysql > PASIRINKITE CONVERT_TZ ( „2022-10-10 14:34:00“ , „JAV/Rytų“ , „JAV/Centrinis“ ) AS laikas ;


Aukščiau pateikta užklausa turėtų grąžinti laiką, konvertuotą į tikslinę laiko juostą:

+----------------------+
| laikas |
+----------------------+
| 2022 m - 10 - 10 13 : 3. 4 :00 |
+----------------------+
1 eilė in rinkinys ( 0.00 sek )

Pabaiga

Šiame trumpame įraše aptarėme, kaip naudoti „MySQL“ funkciją convert_tz, norint konvertuoti laiką iš vienos laiko juostos į kitą.

Laimingo kodavimo!!