“Laika joslas ir viens no sarežģītajiem jēdzieniem, ar kuriem izstrādātājiem ir jātiek galā. Lai gan relāciju datu bāzu rīku un ieviešanas mērķis ir padarīt tās pieļaujamas, tās var izrādīties sarežģītas un dažkārt izraisīt kļūdas.
Tomēr šajā rakstā mēs apspriedīsim, kā, izmantojot MySQL, varat pārvērst laiku no vienas laika joslas uz citu.
MySQL Convert_Tz() funkcija
Funkcija convert_tz() pakalpojumā MySQL ļauj mums konvertēt no vienas laika joslas uz citu. Funkcijas sintakse ir šāda:
CONVERT_TZ ( dt,no_tz,līdz_tz )
Funkcija ņem konvertējamo datuma un laika vērtību, laika joslu, no kuras vēlaties konvertēt, un konvertēšanu, kurā vēlaties konvertēt.
MySQL ļauj norādīt laika joslas kā nosaukumus vai nobīdes vērtības. Pēc tam funkcija atgriezīs atlasīto Datetime objektu mērķa laika joslā.
1. piemērs
Tālāk ir sniegts piemērs, kas ilustrē, kā pārveidot laika virkni no EST uz EAT, izmantojot laika joslu nobīdes.
izvēlietiesconvert_tz ( “2022-08-08 22:22:22” ,
'+00:00' ,
'+03:00' ) kā laiks1;
Iepriekš redzamajam vaicājuma paraugam ir jāatgriež izvade:
| laiks 1 |
| ------------------- |
| 2022. gads -08-09 01: 22 : 22 |
2. piemērs
Kā minēts, mēs varam norādīt mērķa laika joslu pēc tās nosaukuma. Tomēr tas prasa lejupielādēt un instalēt MySQL laika joslas.
Varat palaist tālāk norādīto komandu, lai ielādētu laika joslas.
$ mysql_tzinfo_to_sql / usr / dalīties / zonas informācija | mysql -in sakne -lpp mysql
Ja izmantojat laika joslas failu, palaidiet komandu:
Lejupielādējiet laika joslas failus zemāk esošajā resursā:
Ielādēt failu:
Pēc tam varat norādīt mērķa laika joslu ar nosaukumu:
Iepriekš norādītajam vaicājumam ir jāatgriež laiks, kas konvertēts mērķa laika joslā, kā:
| laiks |
+---------------------+
| 2022. gads - 10 - 10 13 : 3. 4 :00 |
+---------------------+
1 rinda iekšā komplekts ( 0.00 sek )
Beigas
Šajā īsajā ziņojumā mēs apspriedām, kā MySQL izmantot funkciju convert_tz, lai pārvērstu laiku no vienas laika joslas uz citu.
Laimīgu kodēšanu!!