time.h
Aspeto
Biblioteca padrão do C |
time.h é um arquivo cabeçalho que fornece protótipos para funções, macros e definição de tipos da biblioteca padrão da linguagem de programação C para manipulação de datas e horários[1] de modo padrão.
Variáveis
[editar | editar código-fonte]size_t
clock_t
Variável para guardar o tempo de processador.
time_t
Variável para guardar o tempo de calendário, e geralmente corresponde ao número de segundos decorridos desde as 00 horas do dia 1 de Janeiro de 1970 UTC.
struct tm
Estrutura para guardar data e hora. É composta pelos elementos:
struct tm
{
int tm_sec; /* Seconds. [0-60] (1 leap second) */
int tm_min; /* Minutes. [0-59] */
int tm_hour; /* Hours. [0-23] */
int tm_mday; /* Day. [1-31] */
int tm_mon; /* Month. [0-11] */
int tm_year; /* Year - 1900. */
int tm_wday; /* Day of week. [0-6] */
int tm_yday; /* Days in year.[0-365] */
int tm_isdst; /* DST. [-1/0/1]*/
}
Macros
[editar | editar código-fonte]NULL
CLOCKS_PER_SEC
Funções
[editar | editar código-fonte]char *asctime(const struct tm* tmptr)
- Converte
tm
para uma string no formato "Www Mmm dd hh:mm:ss yyyy", onde Www é o dia da semana, Mmm o mês em letras, dd o dia do mês, hh:mm:ss a hora, e yyyy o ano. A string é seguida por uma nova linha e um caracter nulo (NULL), formada por um total de 26 caracteres. A string gerada é alocada estaticamente e compartilhada pelas funçõesctime
easctime
. Cada vez que uma dessas funções é chamada o conteúdo da string é substituído.
clock_t clock(void)
- Retorna o tempo decorrido desde que o programa iniciou a execução.
char* ctime(const time_t* timer)
- Converte o valor de
time t
para uma string com um formato igual ao deasctime
. Essa string gerada é alocada estaticamente e compartilhada pelas funçõesctime
easctime
. Cada vez que uma dessas funções é chamada, ou usada, o conteúdo da string é sub-escrito.asctime
também usa internamente o arquivo temporário usado porgmtime
elocaltime
como valor de retorno, então uma chamada dessa função vai alterar esse buffer (ou arquivo temporário).
double difftime(time t timer2, time t timer1)
- Retorna em segundos a diferença entre dois espaços de tempo.
struct tm* gmtime(const time_t* timer)
- Converte um valor
time t
para uma estrutura tm como o relógio UTC. Essa estrutura é alocada estaticamente e usada também pelas funçõesgmtime
,localtime
ectime
. Essa estrutura tem seu valor alterado cada vez que uma dessas funções é chamada.
struct tm* gmtime_r(const time_t* timer, struct tm* result)
- Converte um valor
time t
para uma estrutura tm igual ao UTC. O tempo é armazenado na estrutura tm referenciada pelo resultado. Essa função é uma versão segura da funçãogmtime
.
struct tm* localtime(const time_t* timer)
- Converte um valor
time t
para uma estrutura tm, igual ao relógio local. Essa estrutura é alocada estaticamente e usada também pelas funçõesgmtime
,localtime
ectime
. Essa estrutura tem seu valor alterado cada vez que uma dessas funções é chamada.
time t mktime(struct tm* ptm)
- Converte
tm
para valor de tempotime t
. Checa os membros da estrutura tm passada como parâmetro ptm ajustando os valores se esses não estão no renge, ou tamanho certo ou estão incompletos ou errados e então traduz a estrutura para um valor time t então retornado. O valor original do dia da semana, membro do tm_mdia não é checado enquanto tm_mes e tm_ano estão determinados. Caso haja erro, o valor -1 é retornado.
time t time(time_t* timer)
- Pega a data atual, em segundos de acordo com o relógio Unix, a partir do relógio do sistema. Guarda esse valor no
timer
. Se otimer
é igual a null', o valor não é armazenado, mas esse valor é continuamente retornado pela função.
size t strftime(char* s, size t n, const char* format, const struct tm* tptr)
- Formata
tm
numa string data/hora cujo resultado é colocado no arrays
.
String Formatação | Significado |
---|---|
%a | Abreviatura do dia da semana |
%A | Dia da semana |
%b | Mês abreviado |
%B | Mês |
%c | Data e hora |
%d | Dia do mês |
%H | Hora no formato 24H (00-23) |
%I | Hora no formato 12H (01-12) |
%j | Dia do ano |
%m | Mês no formato numérico |
%M | Minuto |
%p | Indicador AM ou PM |
%S | Segundos |
%U | Dia da semana com o primeiro Domingo como o primeiro dia da primeira semana (00-53) |
%w | Dia da semana numérico com Domingo como 0 (0-6) |
%W | Dia da semana com a primeira Segunda Feira como o primeiro dia da primeira semana (00-53) |
%x | Representação da data |
%X | Representação da hora |
%y | Ano a dois dígitos |
%Y | Ano a quatro dígitos |
%Z | Fuso horário |
%% | Símbolo % |
time_t timegm(struct tm *brokentime)
Exemplo
[editar | editar código-fonte]O código abaixo imprime numa tela do terminal uma mensagem com o dia, mês, ano e horário.
#include <stdio.h>
#include <time.h>
int main()
{
const time_t timer = time(NULL);
printf("ctime is %s\n", ctime(&timer));
return 0;
}
Referências
- ↑ «C Time Library». The C++ Resources Network. Consultado em 15 de março de 2010
Ligações externas
[editar | editar código-fonte]- «Calendar Time - The GNU C Library» (em inglês) line feed character character in
|título=
at position 14 (ajuda) - «gmtime». The Open Group Base Specifications. [S.l.: s.n.] 9 de dezembro de 2008