FuncoesDeTempoNoC: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Criou página com '=Introdução= Em vários projetos de desenvolvimento surge a necessidade de representar data e hora. Por exemplo, um evento em uma agenda eletrônica deve ter associado a ele u...' |
|||
Linha 11: | Linha 11: | ||
minuto, | minuto, | ||
segundo | segundo | ||
} | }; | ||
</syntaxhighlight> | |||
Entretanto, a biblioteca [https://www.gnu.org/software/libc/manual/html_node/Date-and-Time.html#Date-and-Time glibc] da GNU já apresenta uma série de definições e funções sobre o tempo. É importante conhecê-las pois facilitarão o desenvolvimento dos programs no sentido que permitirão rapidamente ler a hora e data do sistema, computar intervalos de tempo, entre outras possibilidades. | |||
=A struct tm que representa o tempo= | |||
A struct tm, conforme [http://man7.org/linux/man-pages/man3/ctime.3.html manual] do linux possui a seguinte estrutura: | |||
<syntaxhighlight lang=c> | |||
/* definida em time.h */ | |||
struct tm { | |||
int tm_sec; /* segundos (0-60) */ | |||
int tm_min; /* minutos (0-59) */ | |||
int tm_hour; /* horas (0-23) */ | |||
int tm_mday; /* dia do mês (1-31) */ | |||
int tm_mon; /* mês (0-11) */ | |||
int tm_year; /* ano - 1900 */ | |||
int tm_wday; /* dia da semana (0-6, Domingo = 0) */ | |||
int tm_yday; /* dia do ano (0-365, 1 Jan = 0) */ | |||
int tm_isdst; /* flag de horário de verão (HV): 1-se é HV, 0-não é HV, -1 se não existe esta informação */ | |||
}; | |||
</syntaxhighlight> | </syntaxhighlight> |
Edição das 07h25min de 23 de novembro de 2018
1 Introdução
Em vários projetos de desenvolvimento surge a necessidade de representar data e hora. Por exemplo, um evento em uma agenda eletrônica deve ter associado a ele uma data e hora do momento em que este evento acontece. É natural que se pense ema representação na forma de uma struct:
struct data_hora {
int ano,
mes,
dia,
hora,
minuto,
segundo
};
Entretanto, a biblioteca glibc da GNU já apresenta uma série de definições e funções sobre o tempo. É importante conhecê-las pois facilitarão o desenvolvimento dos programs no sentido que permitirão rapidamente ler a hora e data do sistema, computar intervalos de tempo, entre outras possibilidades.
2 A struct tm que representa o tempo
A struct tm, conforme manual do linux possui a seguinte estrutura:
/* definida em time.h */
struct tm {
int tm_sec; /* segundos (0-60) */
int tm_min; /* minutos (0-59) */
int tm_hour; /* horas (0-23) */
int tm_mday; /* dia do mês (1-31) */
int tm_mon; /* mês (0-11) */
int tm_year; /* ano - 1900 */
int tm_wday; /* dia da semana (0-6, Domingo = 0) */
int tm_yday; /* dia do ano (0-365, 1 Jan = 0) */
int tm_isdst; /* flag de horário de verão (HV): 1-se é HV, 0-não é HV, -1 se não existe esta informação */
};