'Ajavööndid on üks keerukaid kontseptsioone, millega arendajad peavad tegelema. Kuigi relatsiooniandmebaaside tööriistade ja rakenduste eesmärk on muuta need talutavaks, võivad need osutuda keeruliseks ja mõnikord põhjustada vigu.
Selles artiklis käsitleme aga seda, kuidas saate MySQL-i abil aega ühest ajavööndist teise teisendada.
MySQL Convert_Tz() funktsioon
Funktsioon convert_tz() MySQL-is võimaldab meil teisendada ühest ajavööndist teise. Funktsiooni süntaks on järgmine:
CONVERT_TZ ( dt,from_tz,to_tz )
Funktsioon võtab teisendatava kuupäeva ja kellaaja väärtuse, ajavööndi, millest soovite teisendada, ja teisenduse, millesse soovite teisendada.
MySQL võimaldab teil määrata ajavööndid nimede või nihkeväärtustena. Funktsioon tagastab seejärel valitud Datetime objekti sihtajavööndis.
Näide 1
Allpool on näide, mis illustreerib, kuidas ajavööndi nihkeid kasutades teisendada ajastring EST-ist EAT-i.
valiconvert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) nagu aeg1;
Ülaltoodud näidispäring peaks tagastama väljundi:
| aeg 1 |
| ------------------- |
| 2022. aasta -08-09 01: 22 : 22 |
Näide 2
Nagu mainitud, saame sihtajavööndi määrata selle nime järgi. See nõuab aga MySQL-i ajavööndite allalaadimist ja installimist.
Ajavööndite laadimiseks saate käivitada alloleva käsu.
$ mysql_tzinfo_to_sql / usr / jagada / tsooniinfo | mysql -sisse juur -lk mysql
Kui kasutate ajavööndi faili, käivitage käsk:
Laadige ajavööndi failid alla allolevast ressursist:
Laadige fail:
Seejärel saate määrata sihtajavööndi nimega:
Ülaltoodud päring peaks tagastama sihtajavööndisse teisendatud aja järgmiselt:
| aega |
+---------------------+
| 2022. aasta - 10 - 10 13 : 3. 4 :00 |
+---------------------+
1 rida sisse seatud ( 0.00 sek )
Lõpp
Selles lühikeses postituses arutasime, kuidas kasutada MySQL-is funktsiooni convert_tz aja teisendamiseks ühest ajavööndist teise.
Head kodeerimist!!