Marca temporal
Uma marca temporal é uma data e hora específica "carimbada" em um registro ou arquivo digital. Embora seja usada principalmente como substantivo, a palavra "timestamp" também pode ser um verbo. Por exemplo, "O tweet recebeu uma marca temporal em 8 de janeiro de 2021, às 10h44."
As marcas temporais são a forma padrão de armazenar datas e horas em sistemas de computador. Por exemplo, os sistemas operacionais atribuem uma marca temporal a cada arquivo, com a data e hora de criação e modificação. As câmeras digitais atribuem uma marca temporal a cada foto capturada. As plataformas de mídias sociais armazenam uma marca temporal com cada publicação, como no exemplo do Twitter acima.
Embora as marcas temporais sejam universais, não existe um formato universal de marca temporal. Por exemplo, uma linguagem de programação pode usar um método, enquanto um banco de dados pode usar outro. Até mesmo os sistemas operacionais têm formas diferentes de armazenar marcas temporais. Por exemplo, o Windows usa o padrão ANSI e armazena as marcas temporais como o número de segundos desde 1º de janeiro de 1601. O Unix armazena as marcas temporais como o número de segundos decorridos desde a meia-noite de 1º de janeiro de 1970. Como existem vários formatos diferentes de marcas temporais, a maioria das linguagens de programação modernas tem funções integradas de conversão de marcas temporais.
Armazenar uma marca temporal como um inteiro é eficiente, pois requer pouco espaço de armazenamento. No entanto, o número precisa ser convertido para um formato de hora legível quando for exibido. O MySQL tem um tipo de dados TIMESTAMP, que armazena marcas temporais convenientemente no seguinte formato:
AAAA-MM-DD HH:MM:SS
O MySQL armazena marcas temporais em UTC, que tem como base a Inglaterra. Portanto, 16 de janeiro de 2021, às 10h15min30s no horário central dos EUA, seria armazenado em um banco de dados MySQL da seguinte forma:
2021-01-16 16:15:30
Se convertida em uma marca temporal no Linux, essa data/hora seria representada como:
1610813730
As marcas temporais também têm diferentes resoluções ou níveis de especificidade. Em alguns casos, os segundos são suficientes, enquanto em outros são necessários milissegundos ou até nanossegundos. A marca temporal do Linux acima seria 1610813730000 em milissegundos, o que fornece uma resolução de um milésimo de segundo. As operações de computação podem exigir marcas temporais com resolução ainda maior. O PHP inclui uma função microtime() que gera uma marca temporal em microssegundos, com resolução de um milionésimo de segundo.
Teste seus conhecimentos