sql >> Database >  >> RDS >> Mysql

Hoe UTC naar lokale tijd te converteren in MySQL

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!

  1. Retourneren van resultaat, zelfs voor elementen in de IN-lijst die niet in de tabel voorkomen

  2. Hoe de Power()-functie werkt in PostgreSQL

  3. Problemen oplossen met SQL Server Always On-beschikbaarheidsgroepen

  4. Automatische gegevensverzameling van wijzigingen in het databaseschema in MS SQL Server