MySQL převádí z jednoho časového pásma do druhého

Mysql Prevadi Z Jednoho Casoveho Pasma Do Druheho



„Časová pásma jsou jedním ze složitých konceptů, se kterými se vývojáři musí vypořádat. Ačkoli nástroje a implementace v relačních databázích mají za cíl, aby byly tolerovatelné, mohou se ukázat jako náročné a někdy vést k chybám.

V tomto článku však probereme, jak můžete převést čas z jednoho časového pásma do druhého pomocí MySQL.







Funkce MySQL Convert_Tz().

Funkce convert_tz() v MySQL nám umožňuje převádět z jednoho časového pásma do druhého. Syntaxe funkce je následující:



CONVERT_TZ ( dt,from_tz,to_tz )


Funkce převezme hodnotu datetime, která se má převést, časové pásmo, ze kterého chcete převést, a převod, na který chcete převést.



MySQL vám umožňuje určit časová pásma jako názvy nebo hodnoty offsetu. Funkce poté vrátí vybraný objekt Datetime v cílovém časovém pásmu.





Příklad 1

Níže je uveden příklad, který ilustruje, jak převést časový řetězec z EST na EAT pomocí posunů časového pásma.

vybrat
convert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) tak jako čas1;



Výše uvedený příklad dotazu by měl vrátit výstup:



| čas1 |
| -------------------- |
| 2022 -08-09 01: 22 : 22 |

Příklad 2

Jak již bylo zmíněno, cílové časové pásmo můžeme určit jeho názvem. To však vyžaduje, abyste si stáhli a nainstalovali MySQL Timezones.

Pro načtení časových pásem můžete spustit příkaz níže.

$ mysql_tzinfo_to_sql / usr / podíl / info o zóně | mysql -v vykořenit -p mysql


Pokud používáte soubor časového pásma, spusťte příkaz:

mysql_tzinfo_to_sql tz_file tz_name | mysql -v vykořenit -p mysql


Stáhněte si soubory časového pásma v níže uvedeném zdroji:

https: // dev.mysql.com / stahování / timezones.html


Načíst soubor:

mysql -v vykořenit -p mysql < název souboru


Poté můžete zadat cílové časové pásmo s názvem:

mysql > VYBERTE CONVERT_TZ ( '2022-10-10 14:34:00' , 'US/Eastern' , 'US/Central' ) TAK JAKO čas ;


Výše uvedený dotaz by měl vrátit čas převedený na cílové časové pásmo jako:

+----------------------+
| čas |
+----------------------+
| 2022 - 10 - 10 13 : 3. 4 :00 |
+----------------------+
1 řádek v soubor ( 0,00 sek )

Konec

V tomto krátkém příspěvku jsme diskutovali o tom, jak použít funkci convert_tz v MySQL k převodu času z jednoho časového pásma do druhého.

Šťastné kódování!!