Понякога може да се наложи да промените UTC на местно време в MySQL. В тази статия ще разгледаме как да конвертирате UTC в местно време в MySQL с помощта на convert_tz функция.
Как да конвертирате UTC в местно време в MySQL
Можете лесно да конвертирате UTC в местно време в MySQL, като използвате convert_tz функция. Ето синтаксиса на функцията convert_tz.
convert_tz(date_value, original_timezone, new_timezone)
В горната функция трябва да посочите стойност за дата като литерал низ, системна функция или име на колона, оригиналната й часова зона, както и новата часова зона.
Ето пример за преобразуване на стойността на датата и часа от UTC в местна часова зона (GMT+10:00). По подразбиране трябва да посочите оригинални (+00:00) и нови часови зони (+10:00) като отмествания спрямо 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 | +-----------------------------------------------------+
Можете също да посочите часови зони вместо отмествания. В този случай обаче ще трябва да изтеглите и инсталирате часовите зони на MySQL на вашия сървър. Ето пример за преобразуване на EST в часова зона Париж, като посочите имена на часови зони вместо стойности на отместване.
mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');
Можете също да използвате системни функции като now() в convert_tz функция за преобразуване на текущата дата и час в други часови зони, както е показано по-долу.
mysql> select convert_tz(now(),'+00:00','-05:00'); +-------------------------------------+ | convert_tz(now(),'+00:00','-05:00') | +-------------------------------------+ | 2020-09-17 04:45:07 | +-------------------------------------+
Прочетете също:Как да групирате по месеци в MySQL
По същия начин можете също да конвертирате колони за дата, час, дата и час, като използвате convert_tz. Ето пример за промяна на часовата зона на order_date колона в продажби таблица, от UTC до 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 | +------------------------------------------+
Надяваме се, че сега можете да промените часовата зона на MySQL в заявка и да конвертирате стойности за дата, час, дата и час от една часова зона в друга.
Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте го днес!