„Az időzónák az egyik olyan összetett fogalom, amellyel a fejlesztőknek foglalkozniuk kell. Bár a relációs adatbázisokban lévő eszközök és megvalósítások célja, hogy ezeket elviselhetővé tegyék, kihívást jelenthetnek, és néha hibákhoz vezethetnek.
Ebben a cikkben azonban megvitatjuk, hogyan konvertálhat egy időt az egyik időzónából a másikba a MySQL használatával.'
MySQL Convert_Tz() függvény
A convert_tz() függvény a MySQL-ben lehetővé teszi számunkra, hogy egyik időzónáról a másikra konvertáljunk. A függvény szintaxisa a következő:
CONVERT_TZ ( dt,from_tz,to_tz )
A függvény veszi a konvertálandó dátum és idő értéket, azt az időzónát, amelyből konvertálni kíván, és azt a konvertálást, amelyre konvertálni kíván.
A MySQL lehetővé teszi az időzónák névként vagy eltolási értékként történő megadását. A függvény ezután visszaadja a kiválasztott Datetime objektumot a cél időzónában.
1. példa
Az alábbiakban egy példa szemlélteti, hogyan lehet EST-ről EAT-re konvertálni egy idősort az időzóna-eltolások használatával.
válassza kiconvert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) mint idő1;
A fenti példalekérdezésnek egy kimenetet kell visszaadnia:
| idő1 |
| ------------------- |
| 2022 -08-09 01: 22 : 22 |
2. példa
Mint említettük, a célidőzónát a nevével adhatjuk meg. Ehhez azonban le kell töltenie és telepítenie kell a MySQL időzónákat.
Az alábbi parancs futtatásával töltheti be az időzónákat.
$ mysql_tzinfo_to_sql / usr / részvény / zoneinfo | mysql -ban ben gyökér -o mysql
Ha időzóna fájlt használ, futtassa a parancsot:
Töltse le az időzóna fájlokat az alábbi forrásból:
Töltse be a fájlt:
Ezután megadhatja a célidőzónát a következő névvel:
A fenti lekérdezésnek vissza kell adnia a célidőzónára konvertált időt a következőképpen:
| idő |
+---------------------+
| 2022 - 10 - 10 13 : 3. 4 :00 |
+---------------------+
1 sor ban ben készlet ( 0,00 mp )
Vége
Ebben a rövid bejegyzésben megvitattuk, hogyan használhatjuk a convert_tz függvényt a MySQL-ben az idő egyik időzónából a másikba való konvertálására.
Boldog kódolást!!