Soms moet u UTC in MySQL wijzigen in lokale tijd. In dit artikel zullen we bekijken hoe u UTC kunt converteren naar lokale tijd in MySQL met behulp van convert_tz functie.
UTC converteren naar lokale tijd in MySQL
U kunt UTC gemakkelijk converteren naar lokale tijd in MySQL met convert_tz functie. Hier is de syntaxis voor de functie convert_tz.
convert_tz(date_value, original_timezone, new_timezone)
In de bovenstaande functie moet u de datumwaarde opgeven als een letterlijke tekenreeks, systeemfunctie of kolomnaam, de oorspronkelijke tijdzone en de nieuwe tijdzone.
Hier is een voorbeeld om de datum-tijdwaarde om te zetten van UTC naar lokale tijdzone (GMT+10:00). Standaard moet u originele (+00:00) en nieuwe tijdzones (+10:00) opgeven als verschuivingen van UTC.
mysql> SELECT CONVERT_TZ('2018-06-15 12:00:00','+00:00','+10:00'); +-----------------------------------------------------+ | CONVERT_TZ('2018-06-15 12:00:00','+00:00','+10:00') | +-----------------------------------------------------+ | 2018-06-15 22:00:00 | +-----------------------------------------------------+
U kunt ook tijdzones specificeren in plaats van offsets. In dit geval moet u echter MySQL-tijdzones downloaden en installeren op uw server. Hier is een voorbeeld om EST te converteren naar de tijdzone van Parijs door tijdzonenamen op te geven in plaats van offsetwaarden.
mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');
U kunt ook systeemfuncties gebruiken zoals now() in convert_tz functie om de huidige datum en tijd om te zetten naar andere tijdzones, zoals hieronder weergegeven.
mysql> select convert_tz(now(),'+00:00','-05:00'); +-------------------------------------+ | convert_tz(now(),'+00:00','-05:00') | +-------------------------------------+ | 2020-09-17 04:45:07 | +-------------------------------------+
Lees ook:Hoe te groeperen op maand in MySQL
Op dezelfde manier kunt u ook datum-, tijd- en datumtijdkolommen converteren met convert_tz. Hier is een voorbeeld van het wijzigen van de tijdzone van order_date kolom in verkoop tabel, van UTC naar EST
mysql> select convert_tz(order_date,'+00:00','-05:00') from sales; +------------------------------------------+ | convert_tz(order_date,'+00:00','-05:00') | +------------------------------------------+ | 2020-05-03 19:00:00 | | 2020-05-04 19:00:00 | | 2020-05-05 19:00:00 | | ... | | 2020-05-13 19:00:00 | +------------------------------------------+
Hopelijk kunt u nu de MySQL-tijdzone in de query wijzigen en datum-, tijd- en datetime-waarden van de ene tijdzone naar de andere converteren.
Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te monitoren. Probeer het vandaag nog!