Você está aqui: C ::: Dicas & Truques ::: Data e Hora |
Entenda a estrutura tm do header <time.h>Quantidade de visualizações: 3501 vezes |
A estrutura tm do header <time.h> é usada com as funções asctime(), _wasctime(), asctime_s(), _wasctime_s(), gmtime(), _gmtime32(), _gmtime64(), _gmtime_s(), _gmtime32_s(), _gmtime64_s(), localtime(), _localtime32(), _localtime64(), localtime_s(), _localtime32_s(), _localtime64_s(), mktime(), _mktime32(), _mktime64(), strftime(), wcsftime(), _strftime_l() e _wcsftime_l() para guardar e recuperar informações sobre datas e horas. Esta estrutura contém nove membros, todos do tipo int. Veja: int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; É importante entender o significado de cada um destes membros: tm_sec - Segundos restantes de um minuto. Seu valor varia de 0 até 59. tm_min - Minutos restantes de uma hora. Seu valor varia de 0 até 59. tm_hour - Horas depois da meia-noite. Seu valor varia de 0 até 23. tm_mday - Dia do mês. Seu valor varia de 1 até 31. tm_mon - Indica o mês. Seu valor varia de 0 até 11. Janeiro é igual a 0. tm_year - Indica o ano atual menos 1900. tm_wday - Dia da semana. Seu valor varia de 0 até 6. Domingo é igual a 0. tm_yday - Dia do ano. Seu valor varia de 0 até 365. 1º de janeiro é igual a 0. tm_isdst - Um valor maior que 0 indica que o fuso horário está ativado. Se o valor for 0 o fuso horário está desativado. Se o valor for negativo, o status do fuso horário é desconhecido. Veja um exemplo de como usamos esta estrutura em combinação com a função localtime() para obter um valor inteiro representando o dia do mês da data atual: #include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, char *argv[]){ time_t data_hora_segundos; // guarda os segundos deste 01/01/1970 struct tm *timeinfo; // declara uma estrutura tm time(&data_hora_segundos); // preenche a variável data_hora_segundos // preenche a estrutura timeinfo timeinfo = localtime(&data_hora_segundos); // mostra o dia do mês atual printf("O dia do mês atual é: %d\n\n", timeinfo->tm_mday); system("PAUSE"); return 0; } Ao executarmos este código teremos o seguinte resultado: O dia do mês atual é: 9. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |