- Título a ser usado para criar uma ligação interna é Time t.
O tipo de dado time_t é definido pela biblioteca ISO da linguagem C para armazenar valores de tempo. Estes valores são obtidos através da função time() que é definida no arquivo de cabeçalho de nome <time.h>. O padrão ISO C define o time_t
como um tipo aritmético, mas não especifica qualquer tipo de dado, intervalo de valores, frequência ou codificação para ele. O resultado das operações aritméticas sobre este tipo também não são determinadas por este padrão.
Os sistemas de padrão Unix e POSIX implementam o time_t
como um inteiro com sinal (tipicamente com 32 ou 64 bits) que representa o número de segundos desde o início da era Unix: meia-noite de 1 de janeiro de 1970 UTC (com exceção dos segundos bissextos). Alguns sistemas suportam valores negativos de tempo, enquanto outros não.
Além da função time()
, o padrão ISO C especifica outras funções e tipos para converter valores de tempo em valores para determinados calendários, e vice e versa.
Exemplo
O código em linguagem C mostrado a seguir recupera o tempo corrente, o formata como uma cadeia de caracteres e o escreve na saída padrão.
# include <stdio.h>
# include <time.h>
int main(void)
{
time_t now;
struct tm ts;
char buf[80];
// Obtem o tempo corrente
now = time(NULL);
// Formata e imprime o tempo, "ddd yyyy-mm-dd hh:mm:ss zzz"
ts = *localtime(&now);
strftime(buf, sizeof(buf), "%a %Y-%m-%d %H:%M:%S %Z", &ts);
printf("%s\n", buf);
return 0;
}