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_logs
com 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_logs
tabela:
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 time
coluna terá valores padronizados para a data e hora UTC atuais.
Terceiro, consulte os dados da activity_logs
tabela:
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_logs
tabela e converta os valores de hora dos eventos para US/Eastern
fuso 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 NULL
valores na time
coluna, é 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.