A MySQL egyik időzónából a másikba konvertál

A Mysql Egyik Idozonabol A Masikba Konvertal



„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 ki
convert_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:

mysql_tzinfo_to_sql tz_file tz_name | mysql -ban ben gyökér -o mysql


Töltse le az időzóna fájlokat az alábbi forrásból:

https: // dev.mysql.com / letöltések / timezones.html


Töltse be a fájlt:

mysql -ban ben gyökér -o mysql < fájl név


Ezután megadhatja a célidőzónát a következő névvel:

mysql > KIVÁLASZTÁSA CONVERT_TZ ( '2022-10-10 14:34:00' , 'USA/Kelet' , 'USA/Közép' ) MINT idő ;


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!!