No MySQL, você pode usar o
UNIX_TIMESTAMP()
função para retornar um timestamp Unix. Um carimbo de data/hora Unix é o número de segundos decorridos desde '1970-01-01 00:00:00' UTC. Você pode usar esta função para retornar um carimbo de data/hora Unix com base na data/hora atual ou em outra data/hora especificada.
Sintaxe
Você pode usar qualquer um dos seguintes formulários:
UNIX_TIMESTAMP() UNIX_TIMESTAMP(date)
A
date
(opcional) O argumento permite especificar uma data para a qual calcular o timestamp Unix. Se fornecido, a função retornará o valor do argumento como segundos desde '1970-01-01 00:00:00' UTC. A
date
argumento pode ser uma data , datahora , ou carimbo de data e hora string ou um número no formato YYMMDD, YYMMDDHHMMSS, YYYYMMDD ou YYYYMMDDHHMMSS. O valor de retorno é um inteiro se nenhum argumento for fornecido ou o argumento não incluir uma parte de segundos fracionários, ou decimal se for fornecido um argumento que inclua uma parte de segundos fracionários.
Exemplo 1 – Usando a data/hora atual
Este exemplo usa a data e hora atuais para produzir o carimbo de data/hora do Unix.
SELECT UNIX_TIMESTAMP();
Resultado:
+------------------+ | UNIX_TIMESTAMP() | +------------------+ | 1530054626 | +------------------+
Então, isso é quantos segundos se passaram desde 00:00:00 Coordinated Universal Time (UTC), quinta-feira, 1º de janeiro de 1970, e a hora em que executei essa consulta.
Exemplo 2 – Especificar uma data
Neste exemplo, forneço uma data para calcular o carimbo de data/hora do Unix.
SELECT UNIX_TIMESTAMP('1970-01-02') As Result;
Resultado:
+--------+ | Result | +--------+ | 50400 | +--------+
Exemplo 3 – Especifique um valor de data e hora
Neste exemplo, forneço um valor de data e hora.
SELECT UNIX_TIMESTAMP('2021-11-27 12:35:03') AS Result;
Resultado:
+------------+ | Result | +------------+ | 1637980503 | +------------+
Exemplo 4 – Segundos fracionários
Conforme mencionado, se você fornecer uma parte de segundos fracionários, o valor de retorno será um decimal valor (em oposição a inteiro para os exemplos anteriores).
Aqui está um exemplo.
SELECT UNIX_TIMESTAMP('2021-11-27 12:35:03.123456') AS Result;
Resultado:
+-------------------+ | Result | +-------------------+ | 1637980503.123456 | +-------------------+