Função MySQL UTC_TIMESTAMP()

Resumo : neste tutorial, você aprenderá como usar a UTC_TIMESTAMP()função MySQL para recuperar a data e hora UTC atuais.

Introdução à função MySQL UTC_TIMESTAMP()

A UTC_TIMESTAMP()função retorna a data e hora atuais do tempo universal coordenado (UTC).

Aqui está a sintaxe da UTC_TIMESTAMP()função:

UTC_TIMESTAMP()Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

O UTC_TIMESTAMP()não requer nenhum argumento e retorna a data e hora UTC atuais.

Na prática, você usará a UTC_TIMESTAMP()função para trabalhar com valores de data e hora de maneira independente do fuso horário.

Exemplos de funções UTC_TIMESTAMP() do MySQL

Vejamos alguns exemplos de uso da UTC_TIMESTAMP()função.

1) Exemplo simples de função UTC_TIMESTAMP()

O exemplo a seguir usa UTC_TIMESTAMP()para obter a hora UTC atual:

SELECT UTC_TIMESTAMP() AS current_utc_time;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+---------------------+
| current_utc_time    |
+---------------------+
| 2023-10-17 06:49:00 |
+---------------------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A consulta retornará a hora UTC atual dependendo de quando você a executar.

2) Usando a função UTC_TIMESTAMP() com dados da tabela

Primeiro, crie uma tabela chamada activity_logscom a seguinte estrutura:

CREATE TABLE activity_logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    description VARCHAR(255) NOT NULL,
    time TIMESTAMP NOT NULL
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, insira algumas linhas na activity_logstabela:

INSERT INTO activity_logs(description, time) 
VALUES
('User logged in', UTC_TIMESTAMP()),
('File uploaded', UTC_TIMESTAMP()),
('Data processed', UTC_TIMESTAMP());Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A timecoluna terá valores padronizados para a data e hora UTC atuais.

Terceiro, consulte os dados da activity_logstabela:

SELECT * FROM activity_logs;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+----+----------------+---------------------+
| id | description    | time                |
+----+----------------+---------------------+
|  1 | User logged in | 2023-10-17 07:05:19 |
|  2 | File uploaded  | 2023-10-17 07:05:19 |
|  3 | Data processed | 2023-10-17 07:05:19 |
+----+----------------+---------------------+
3 rows in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

No activity_logs, registramos os eventos usando a data e hora UTC.

Por fim, consulte os dados da activity_logstabela e converta os valores de hora dos eventos para US/Easternfuso horário:

SELECT 
  description, 
  CONVERT_TZ(time, 'UTC', 'US/Eastern') AS time
FROM 
  activity_logs;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+----------------+---------------------+
| description    | time                |
+----------------+---------------------+
| User logged in | 2023-10-17 04:17:21 |
| File uploaded  | 2023-10-17 04:17:21 |
| Data processed | 2023-10-17 04:17:21 |
+----------------+---------------------+
3 rows in set (0.01 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Observe que se você vir os NULLvalores na timecoluna, é provável que seu servidor de banco de dados não esteja configurado corretamente com o fuso horário.

Resumo

  • Use a UTC_TIMESTAMP()função MySQL para recuperar a data e hora UTC atuais.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *