Time t
- 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; }
Ver também
- Biblioteca padrão do C
- Era Unix
- Problema do ano 2038